CVE-2024-35801

Source
https://cve.org/CVERecord?id=CVE-2024-35801
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-35801.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-35801
Downstream
Related
Published
2024-05-17T13:23:10.830Z
Modified
2026-03-13T07:55:21.474531Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
x86/fpu: Keep xfd_state in sync with MSR_IA32_XFD
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.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/35xxx/CVE-2024-35801.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
672365477ae8afca5a1cca98c1deb733235e4525
Fixed
21c7c00dae55cb0e3810d5f9506b58f68475d41d
Fixed
1acbca933313aa866e39996904c9aca4d435c4cd
Fixed
92b0f04e937665bde5768f3fcc622dcce44413d8
Fixed
b61e3b7055ac6edee4be071c52f48c26472d2624
Fixed
10e4b5166df9ff7a2d5316138ca668b42d004422

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-35801.json"