CVE Catalog

CVE-2025-38169

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.15%

4th percentile - higher than 4% of all known CVEs

Summary

In the Linux kernel on ARM64 with SME enabled, kernel FPSIMD state may be erroneously clobbered during context switch. When the CPU is in streaming SVE mode, restoring kernel FPSIMD state before exiting that mode (SMSTOP) causes register reset and data loss.

Risk Assessment

Clobbering kernel FPSIMD state can lead to incorrect floating-point computations in the kernel, potentially causing system errors.

Recommendation

Apply the Linux kernel patch that reorders calls: first fpsimd_flush_cpu_state(), then restore kernel FPSIMD state.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS