CVE-2023-52597: KVM: s390: fix setting of fpc register
In the Linux kernel, the following vulnerability has been resolved:
KVM: s390: fix setting of fpc register
kvm_arch_vcpu_ioctl_set_fpu() allows to set the floating point control
(fpc) register of a guest cpu. The new value is tested for validity by
temporarily loading it into the fpc register.
This may lead to corruption of the fpc register of the host process:
if an interrupt happens while the value is temporarily loaded into the fpc
register, and within interrupt context floating point or vector registers
are used, the current fp/vx registers are saved with save_fpu_regs()
assuming they belong to user space and will be loaded into fp/vx registers
when returning to user space.
test_fp_ctl() restores the original user space / host process fpc register
value, however it will be discarded, when returning to user space.
In result the host process will incorrectly continue to run with the value
that was supposed to be used for a guest cpu.
Fix this by simply removing the test. There is another test right before
the SIE context is entered which will handles invalid values.
This results in a change of behaviour: invalid values will now be accepted
instead of that the ioctl fails with -EINVAL. This seems to be acceptable,
given that this interface is most likely not used anymore, and this is in
addition the same behaviour implemented with the memory mapped interface
(replace invalid values with zero) - see sync_regs() in kvm-s390.c.
Security readout for executives and security teams
Plain-English summary
CVE-2023-52597 is a Linux kernel KVM issue specific to s390 virtualization. A guest CPU floating-point control register operation could accidentally affect the host process state under interrupt timing. The expected business impact is limited integrity or availability disruption on affected s390 KVM hosts, not broad remote compromise.
Executive priority
Treat as a moderate maintenance priority for organizations operating s390 KVM virtualization. It does not currently warrant emergency response absent vendor escalation or exploitation evidence, but kernel updates should be scheduled promptly for affected hosts.
Technical view
In kvm_arch_vcpu_ioctl_set_fpu() for KVM s390, the kernel temporarily loaded a guest fpc value to validate it. If interrupted while floating-point or vector state was saved, the host process could later resume with the guest-intended fpc value. The fix removes that validation test and relies on later SIE-entry handling.
Likely exposure
Exposure is likely limited to Linux systems on s390/s390x using KVM. The CVE record lists Linux kernel versions including 3.13 and stable series up to 6.8 as affected, with multiple stable commits referenced. Non-s390 environments are not described as affected in the provided sources.
Exploitation context
The CVSS vector is local, high complexity, no privileges, no user interaction, with low integrity and availability impact. CISA KEV status is false in the provided data, and the sources do not report active exploitation or public exploit availability.
Researcher notes
The key race involves temporary fpc loading during ioctl validation and interrupt-time fp/vx state handling. The fix changes behavior: invalid values may be accepted at ioctl time and handled later before SIE entry, aligning with the memory-mapped interface behavior described in the CVE text.
Mitigation direction
Apply Linux kernel stable or vendor packages containing the referenced KVM s390 fix.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-52597 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.