CVE-2024-35801

x86/fpu: Keep xfd_state in sync with MSR_IA32_XFD

State
Published
Severity
7.8 High
Published
May 17, 2024
Updated
May 11, 2026
Reserved
May 17, 2024

Read the record on cve.org

Description

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

x86/fpu: Keep xfd_state in sync with MSR_IA32_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 xfd_state to keep the MSR_IA32_XFD value cached, in order to avoid unnecessary writes to the MSR.

On CPU hotplug MSR_IA32_XFD 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 xfd_update_state() 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 xfd_set_state() to write xfd_state together with MSR_IA32_XFD, and use it in all places that set MSR_IA32_XFD.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 672365477ae8afca5a1cca98c1deb733235e4525 to before 21c7c00dae55cb0e3810d5f9506b58f68475d41dAffected
  • 672365477ae8afca5a1cca98c1deb733235e4525 to before 1acbca933313aa866e39996904c9aca4d435c4cdAffected
  • 672365477ae8afca5a1cca98c1deb733235e4525 to before 92b0f04e937665bde5768f3fcc622dcce44413d8Affected
  • 672365477ae8afca5a1cca98c1deb733235e4525 to before b61e3b7055ac6edee4be071c52f48c26472d2624Affected
  • 672365477ae8afca5a1cca98c1deb733235e4525 to before 10e4b5166df9ff7a2d5316138ca668b42d004422Affected
LinuxLinux
  • 5.16Affected
  • before 5.16Not affected
  • 6.1.84 through 6.1.*Not affected
  • 6.6.24 through 6.6.*Not affected
  • 6.7.12 through 6.7.*Not affected
  • 6.8.3 through 6.8.*Not affected
  • 6.9 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.