CVE-2025-38704
High · 7.8CVSS
7.8
EPSS
0.2%
Published
Sep 4, 2025
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel could let someone already logged into the computer crash the whole system or gain extra powers.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free allowing invalid pointer dereference on rdp->nocb_cb_kthread during CPU re-offload after a failed rcuop kthread creation left the pointer unassigned while nocb_gp_rdp remained valid.
Why it matters to the business
Local attackers may crash Linux kernels or escalate privileges on servers and devices, causing downtime, data loss, or unauthorized access across any environment running the affected kernel versions.
How an attack unfolds
A local attacker triggers CPU online preparation where rcuop kthread creation fails, resulting in de-offload without assigning nocb_cb_kthread; subsequent re-offload passes the safety check and calls kthread_unpark on the dangling pointer.
How to fix it
Apply the upstream fix in commit cce3d027227c69e85896af9fbc6fa9af5c68f067 and update to the corresponding stable kernel releases that contain it.
How to confirm the fix worked
Confirm the running kernel source or binary contains commit cce3d027227c69e85896af9fbc6fa9af5c68f067; exercise CPU offline/online paths under load and verify no invalid pointer accesses occur.
Typical attack path
- Obtain local unprivileged access on a Linux system
- Force repeated CPU hotplug and offline sequences to induce rcuop kthread creation failure
- Trigger re-offload of the affected CPU to dereference the freed nocb_cb_kthread pointer
How to detect it
Review kernel logs and dmesg for RCU nocb kthread warnings, use-after-free reports, or crashes during CPU hotplug events; correlate with audit logs showing repeated offline/online operations.
What your security team should do
- Prioritize kernel updates containing cce3d027227c69e85896af9fbc6fa9af5c68f067 on all Linux hosts
- Limit unprivileged local access and CPU hotplug permissions until patched
- Subscribe to distribution kernel advisories for backported fixes
The record
In the Linux kernel, the following vulnerability has been resolved: rcu/nocb: Fix possible invalid rdp's->nocb_cb_kthread pointer access In the preparation stage of CPU online, if the corresponding the rdp's->nocb_cb_kthread does not exist, will be created, there is a situation where the rdp's rcuop kthreads creation fails, and then de-offload this CPU's rdp, does not assign this CPU's rdp->nocb_cb_kthread pointer, but this rdp's->nocb_gp_rdp and rdp's->rdp_gp->nocb_gp_kthread is still valid. This will cause the subsequent re-offload operation of this offline CPU, which will pass the conditional check and the kthread_unpark() will access invalid rdp's->nocb_cb_kthread pointer. This commit therefore use rdp's->nocb_gp_kthread instead of rdp_gp's->nocb_gp_kthread for safety check.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:12 | linux | 0 | No fix |
| Debian:13 | linux | 0 | 6.12.43-1 |
| Debian:14 | linux | 0 | 6.16.3-1 |
| Linux | Kernel | 0 | 6.12.43 |
| Linux | Kernel | 6.0.0 | 6.12.43 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.9.1.160000.2.6 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.9.1 |
Related vulnerabilities
- CVE-2025-39885 In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive… Also affects linux
- CVE-2025-39883 In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure… Also affects linux
- CVE-2025-39876 In the Linux kernel, the following vulnerability has been resolved: net: fec: Fix… Also affects linux
- CVE-2025-39869 In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: edma… Also affects linux
- CVE-2025-39873 In the Linux kernel, the following vulnerability has been resolved: can: xilinx_can… Also affects linux
- CVE-2025-39863 In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix… Also affects linux
- CVE-2025-39865 In the Linux kernel, the following vulnerability has been resolved: tee: fix NULL pointer… Also affects linux
- CVE-2025-39866 In the Linux kernel, the following vulnerability has been resolved: fs: writeback: fix… Also affects linux