Skip to main content
← All vulnerabilities
CVE-2025-38169

arm64/fpsimd: Avoid clobbering kernel FPSIMD state with SMSTOP

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.9, 6.10, 6.12.34, 6.15.3
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: arm64/fpsimd: Avoid clobbering kernel FPSIMD state with SMSTOP On system with SME, a thread's kernel FPSIMD state may be erroneously clobbered during a context switch immediately after that state is restored. Systems without SME are unaffected. If the CPU happens to be in streaming SVE mode before a context switch to a thread with kernel FPSIMD state, fpsimd_thread_switch() will restore the kernel FPSIMD state using fpsimd_load_kernel_state() while the CPU is still in streaming SVE mode. When fpsimd_thread_switch() subsequently calls fpsimd_flush_cpu_state(), this will execute an SMSTOP, causing an exit from streaming SVE mode. The exit from streaming SVE mode will cause the hardware to reset a number of FPSIMD/SVE/SME registers, clobbering the FPSIMD state. Fix this by calling fpsimd_flush_cpu_state() before restoring the kernel FPSIMD state.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From e92bee9f861b466c676f0200be3e46af7bc4ac6b · fixed in 55d52af498daea75aa03ba9b7e444c8ae495ac20; From e92bee9f861b466c676f0200be3e46af7bc4ac6b · fixed in a305821f597ec943849d3e53924adb88c61ed682; From e92bee9f861b466c676f0200be3e46af7bc4ac6b · fixed in 01098d893fa8a6edb2b56e178b798e3e6b674f02; From 6.8.12 · fixed in 6.9; From 6.9.3 · fixed in 6.10

  • Linux Linux

    6.10

  • KernelLinux

    From 6.10.0 · fixed in 6.12.34; From 6.13.0 · fixed in 6.15.3

References 3

git.kernel.org