HIGH
procfs TaskStat UAF
CVE-2026-46259
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI6.3MEDIUM
01Description
In the Linux kernel, the following vulnerability has been resolved: procfs: fix missing RCU protection when reading real_parent in do_task_stat() When reading /proc/[pid]/stat, do_task_stat() accesses task->real_parent without proper RCU protection, which leads to: cpu 0 cpu 1 ----- ----- do_task_stat var = task->real_parent release_task call_rcu(delayed_put_task_struct) task_tgid_nr_ns(var) rcu_read_lock <--- Too late to protect task->real_parent! task_pid_ptr <--- UAF! rcu_read_unlock This patch uses task_ppid_nr_ns() instead of task_tgid_nr_ns() to add proper RCU protection for accessing task->real_parent.
02KernelScan AI Analysis
Risk summary
A race condition in procfs allows local users to trigger a use-after-free when reading /proc/[pid]/stat files. This can lead to kernel memory corruption and system crashes when parent tasks are freed while their information is being accessed.
Vulnerability analysis
The vulnerability occurs in do_task_stat() when accessing task->real_parent without proper RCU protection. A race window exists where the parent task can be freed via release_task() on another CPU after the pointer is read but before it's used in task_tgid_nr_ns(). The fix replaces the unsafe access with task_ppid_nr_ns() which handles RCU protection internally. This is locally exploitable by any user who can read process information through procfs.
03Fix Versions
| Branch | Fixed in | Patch commit |
|---|---|---|
| 5.10 | 5.10.252 | fefa0fcd78be |
| 5.15 | 5.15.202 | c93a33f28f91 |
| 6.1 | 6.1.165 | 1c8dc5b55175 |
| 6.12 | 6.12.75 | 73ec7c96601d |
| 6.18 | 6.18.14 | 4f9ae386861e |
| 6.19 | 6.19.4 | dd8b13cb4ff1 |
| 6.6 | 6.6.128 | 0e64bd46a04a |
| mainline | 7.0 | 76149d53502c |