CVE-2024-35801

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-35801
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-35801.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-35801
Downstream
Related
Published
2024-05-17T14:15:12Z
Modified
2025-09-19T15:44:30Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

In the Linux kernel, the following vulnerability has been resolved:

x86/fpu: Keep xfdstate in sync with MSRIA32_XFD

Commit 672365477ae8 ("x86/fpu: Update XFD state where required") and commit 8bf26758ca96 ("x86/fpu: Add XFD state to fpstate") introduced a per CPU variable xfdstate to keep the MSRIA32_XFD value cached, in order to avoid unnecessary writes to the MSR.

On CPU hotplug MSRIA32XFD is reset to the init_fpstate.xfd, which wipes out any stale state. But the per CPU cached xfd value is not reset, which brings them out of sync.

As a consequence a subsequent xfdupdatestate() might fail to update the MSR which in turn can result in XRSTOR raising a #NM in kernel space, which crashes the kernel.

To fix this, introduce xfdsetstate() to write xfdstate together with MSRIA32XFD, and use it in all places that set MSRIA32_XFD.

References

Affected packages