What’s Vulnerable › Vulnerabilities
CVE-2025-38689: x86/fpu: Fix NULL dereference in avx512_status()
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.1% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2025-09-04 · updated 2026-10-19
- Weakness: CWE-476
Description
In the Linux kernel, the following vulnerability has been resolved: x86/fpu: Fix NULL dereference in avx512_status() Problem ------- With CONFIG_X86_DEBUG_FPU enabled, reading /proc/[kthread]/arch_status causes a warning and a NULL pointer dereference. This is because the AVX-512 timestamp code uses x86_task_fpu() but doesn't check it for NULL. CONFIG_X86_DEBUG_FPU addles that function for kernel threads (PF_KTHREAD specifically), making it return NULL. The point of the warning was to ensure that kernel threads only access task->fpu after going through kernel_fpu_begin()/_end(). Note: all kernel tasks exposed in /proc have a valid task->fpu. Solution -------- One option is to silence the warning and check for NULL from x86_task_fpu(). However, that warning is fairly fresh and seems like a defense against misuse of the FPU state in kernel threads. Instead, stop outputting AVX-512_elapsed_ms for kernel threads altogether. The data was garbage anyway because avx512_timestamp is only updated for user threads, not kernel threads. If anyone ever wants to track kernel thread AVX-512 use, they can come back later and do it properly, separate from this bug fix. [ dhansen: mostly rewrite changelog ]
Affected products
- Linux kernel: from 6.16 before 6.16.2; 6.17-rc1 — fixed in 6.16.2
How to fix
Upgrade to a fixed version: Linux kernel 6.16.2. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/2ca887e81095b99d890a8878841f36f4920181e6
- https://git.kernel.org/stable/c/31cd31c9e17ece125aad27259501a2af69ccb020
Get alerted when CVE-2025-38689 or the next vulnerability affects your stack