CVE-2025-38689
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
04/09/2025
Last modified:
24/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
x86/fpu: Fix NULL dereference in avx512_status()<br />
<br />
Problem<br />
-------<br />
With CONFIG_X86_DEBUG_FPU enabled, reading /proc/[kthread]/arch_status<br />
causes a warning and a NULL pointer dereference.<br />
<br />
This is because the AVX-512 timestamp code uses x86_task_fpu() but<br />
doesn&#39;t check it for NULL. CONFIG_X86_DEBUG_FPU addles that function<br />
for kernel threads (PF_KTHREAD specifically), making it return NULL.<br />
<br />
The point of the warning was to ensure that kernel threads only access<br />
task->fpu after going through kernel_fpu_begin()/_end(). Note: all<br />
kernel tasks exposed in /proc have a valid task->fpu.<br />
<br />
Solution<br />
--------<br />
One option is to silence the warning and check for NULL from<br />
x86_task_fpu(). However, that warning is fairly fresh and seems like a<br />
defense against misuse of the FPU state in kernel threads.<br />
<br />
Instead, stop outputting AVX-512_elapsed_ms for kernel threads<br />
altogether. The data was garbage anyway because avx512_timestamp is<br />
only updated for user threads, not kernel threads.<br />
<br />
If anyone ever wants to track kernel thread AVX-512 use, they can come<br />
back later and do it properly, separate from this bug fix.<br />
<br />
[ dhansen: mostly rewrite changelog ]
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.16 (including) | 6.16.2 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.17:rc1:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



