CVE-2026-97903
Last modified
CVE-2026-97903 is a high-severity vulnerability rated 7.8/10 on the CVSS scale. In the Linux kernel, the following vulnerability has been resolved: exit: hold a reference to thread_pid across proc_flush_pid Commit 0a36bad01731 ("release_task: kill the no longer needed get/put_pid(thread_pid)") removed the reference around proc_flush_pid(). It assumed that free_pids(post.pids) at the end of release_task() would keep thread_pid alive until then. That assumption is wrong. __change_pid() only records a detached PID in post.pids when pid_has_task() is false for every PIDTYPE.
Description
In the Linux kernel, the following vulnerability has been resolved: exit: hold a reference to thread_pid across proc_flush_pid Commit 0a36bad01731 ("release_task: kill the no longer needed get/put_pid(thread_pid)") removed the reference around proc_flush_pid(). It assumed that free_pids(post.pids) at the end of release_task() would keep thread_pid alive until then. That assumption is wrong. __change_pid() only records a detached PID in post.pids when pid_has_task() is false for every PIDTYPE. If another task still uses the exiting task's PID as its process group or session ID, __unhash_process() removes the exiting task's PIDTYPE_PID link but leaves the PID out of post.pids. release_task() therefore holds no reference to it after dropping tasklist_lock. The other task can then remove the remaining PIDTYPE links. Its free_pids() call schedules delayed_put_pid(), and the RCU callback can free the PID before the first release_task() reaches proc_flush_pid(). An unprivileged reproducer races wait4(-1) against setsid() to trigger this ordering. Three of three fresh v7.2 KASAN boots reported: BUG: KASAN: slab-use-after-free in proc_invalidate_siblings_dcache+0x3e2/0x3f0 Read of size 8 by task h7_pid_reaper/1921 Call Trace: proc_invalidate_siblings_dcache release_task wait_consider_task __do_wait do_wait kernel_wait4 Freed by task 0: kmem_cache_free put_pid delayed_put_pid rcu_core Last potentially related work creation: __call_rcu_common free_pids ksys_setsid KASAN identified a 144-byte object from the pid cache and located the bad read 80 bytes into the freed object, matching pid->inodes. With an explicit reference, three of three fresh boots completed without a KASAN report. The concurrent RCU callback dropped its reference while proc_flush_pid() was protected, and the balancing put_pid() performed the final free afterward. Take a reference before __unhash_process() clears p->thread_pid and release it after proc_flush_pid() completes. A tested source reproducer is available privately on request. No controlled read or write, information leak, or privilege escalation is claimed. The mainline patch applies directly to v6.19.y and newer; v6.16.y through v6.18.y need a context-adjusted backport.
Metrics
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 0a36bad01731e71568bdd365764d38b6bd576ab0, < bcb0936862f2b653114d9bd582ca26990ef54a64; >= 0a36bad01731e71568bdd365764d38b6bd576ab0, < 96803a12e8ac15f0a1b4b151db59038f12304e58; >= 0a36bad01731e71568bdd365764d38b6bd576ab0, < cdd812d0683dee14ead02c9eded568685e61b23f |
| Linux | Linux | 6.16 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-97903?
How severe is CVE-2026-97903?
How do I fix CVE-2026-97903?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-9789A Local Privilege Escalation (LPE) vulnerability affects Ace…8.5
- CVE-2026-97898Insecure Direct Object Reference / missing object-level auth…8.4
- CVE-2026-97899In the Linux kernel, the following vulnerability has been re…
- CVE-2026-97900In the Linux kernel, the following vulnerability has been re…
- CVE-2026-97901In the Linux kernel, the following vulnerability has been re…
- CVE-2026-97902In the Linux kernel, the following vulnerability has been re…
- CVE-2026-97904In the Linux kernel, the following vulnerability has been re…
- CVE-2026-97905In the Linux kernel, the following vulnerability has been re…
- CVE-2026-97906In the Linux kernel, the following vulnerability has been re…
- CVE-2026-97907In the Linux kernel, the following vulnerability has been re…
- CVE-2026-97908In the Linux kernel, the following vulnerability has been re…
- CVE-2026-97909In the Linux kernel, the following vulnerability has been re…
Are you affected by CVE-2026-97903?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
