KernelScan.io

HIGH

procfs TaskStat UAF

CVE-2026-46259

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI6.3MEDIUM

01

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.

02

Engine v0.2.0

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.

Affectedfs/proc/array.c (procfs)

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.

03

BranchFixed inPatch commit
5.105.10.252fefa0fcd78be
5.155.15.202c93a33f28f91
6.16.1.1651c8dc5b55175
6.126.12.7573ec7c96601d
6.186.18.144f9ae386861e
6.196.19.4dd8b13cb4ff1
6.66.6.1280e64bd46a04a
mainline7.076149d53502c