CVE-2025-68171

x86/fpu: Ensure XFD state on signal delivery

State
Published
Severity
7.8 High
Published
Dec 16, 2025
Updated
Oct 15, 2026
Reserved
Dec 16, 2025

Read the record on cve.org

Description

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

x86/fpu: Ensure XFD state on signal delivery

Sean reported [1] the following splat when running KVM tests:

WARNING: CPU: 232 PID: 15391 at xfd_validate_state+0x65/0x70 Call Trace: <TASK> fpu__clear_user_states+0x9c/0x100 arch_do_signal_or_restart+0x142/0x210 exit_to_user_mode_loop+0x55/0x100 do_syscall_64+0x205/0x2c0 entry_SYSCALL_64_after_hwframe+0x4b/0x53

Chao further identified [2] a reproducible scenario involving signal delivery: a non-AMX task is preempted by an AMX-enabled task which modifies the XFD MSR.

When the non-AMX task resumes and reloads XSTATE with init values, a warning is triggered due to a mismatch between fpstate::xfd and the CPU's current XFD state. fpu__clear_user_states() does not currently re-synchronize the XFD state after such preemption.

Invoke xfd_update_state() which detects and corrects the mismatch if there is a dynamic feature.

This also benefits the sigreturn path, as fpu__restore_sig() may call fpu__clear_user_states() when the sigframe is inaccessible.

[ dhansen: minor changelog munging ]

Scores

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

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 672365477ae8afca5a1cca98c1deb733235e4525 to before eefbfb722042fc9210d2e0ac2b063fd1abf51895Affected
  • 672365477ae8afca5a1cca98c1deb733235e4525 to before 1811c610653c0cd21cc9add14595b7cffaeca511Affected
  • 672365477ae8afca5a1cca98c1deb733235e4525 to before 5b2619b488f1d08b960c43c6468dd0759e8b3035Affected
  • 672365477ae8afca5a1cca98c1deb733235e4525 to before 3f735419c4b43cde42e6d408db39137b82474e31Affected
  • 672365477ae8afca5a1cca98c1deb733235e4525 to before 388eff894d6bc5f921e9bfff0e4b0ab2684a96e9Affected
LinuxLinux
  • 5.16Affected
  • before 5.16Not affected
  • 6.1.159 through 6.1.*Not affected
  • 6.6.117 through 6.6.*Not affected
  • 6.12.58 through 6.12.*Not affected
  • 6.17.8 through 6.17.*Not affected
  • 6.18 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.