CVE-2026-97903

HIGHPre-NVD 7.87.8—
EchelonGraph scoreHIGH confidence

Score 7.8 from GitHub Security Advisory (severity: HIGH) published 2026-09-25. A secondary CVSS source baseline 7.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 3 sources updated this week
7.8EG
EchelonGraph verdictPlan mitigationSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0.1%CVSS: 7.8Exploit: None knownExposed services: Not assessed

No fix is confirmed yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for the fix.

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.

CVSS v3
7.8
EG Score
7.8HIGHhigh confidence
EG Risk
40
EG Risk 40/100CISA SSVC

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity78% × 45%
Exploitation0% × 40%
Automatability30% × 15%
CISA SSVC: Track at low or medium mission impact; Track or Attend at high (mission-essential systems).
Action: No fix is confirmed yet. Restrict network exposure of the affected system or apply the vendor's mitigation within your standard update timelines at low or medium mission impact and sooner than that at high, and watch the vendor's advisory for the fix.
EPSS PROB
0.1%
EPSS %ILE
1st
KEV
Not listed

CISA SSVCTrack at low or medium mission impact; Track or Attend at high (mission-essential systems).

No fix is confirmed yet. Restrict network exposure of the affected system or apply the vendor's mitigation within your standard update timelines at low or medium mission impact and sooner than that at high, and watch the vendor's advisory for the fix.

Exploitation none (no KEV listing, exploit record or EPSS ≥ 50%) · Automatable unknown (not published for this CVE) · Technical impact partial (CVSS below 9.0). Mission impact is CISA's Mission & Well-being decision point, and only you can judge it: high means the affected system is essential to your organisation's mission, or its compromise could cause irreversible harm to people. CISA's decision table

Published

September 25, 2026

Last Modified

September 25, 2026

Advisory Details (3)

Auto-updated Sep 25, 2026
No patch confirmed yet.
generic

exit: hold a reference to thread_pid across proc_flush_pid - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/cdd812d0683dee14ead02c9eded568685e61b23f
generic

exit: hold a reference to thread_pid across proc_flush_pid - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/96803a12e8ac15f0a1b4b151db59038f12304e58
generic

exit: hold a reference to thread_pid across proc_flush_pid - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/bcb0936862f2b653114d9bd582ca26990ef54a64

Vendor Advisories for CVE-2026-97903(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(1 across 1 ecosystem)
Debian:14(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.100-1 ... 7.2~rc7-1~exp1 (179 versions)
  • every version up to 7.2.7-1: fixed in 7.2.7-1
—

Data Freshness Timeline

(refreshed 27× in last 7d / 45× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-10-05 05:37 UTCGHSA enrichment
  2. 2026-10-04 18:11 UTCGHSA enrichment
  3. 2026-10-04 06:46 UTCGHSA enrichment
  4. 2026-10-03 19:21 UTCEG score recompute
  5. 2026-10-03 19:21 UTCGHSA enrichment
  6. 2026-10-03 14:26 UTCEPSS rescore
  7. 2026-10-03 07:56 UTCGHSA enrichment
  8. 2026-10-02 20:28 UTCEG score recompute
  9. 2026-10-02 20:27 UTCGHSA enrichment
  10. 2026-10-02 17:57 UTCEPSS rescore
  11. 2026-10-02 08:57 UTCGHSA enrichment
  12. 2026-10-01 21:30 UTCEG score recompute
  13. 2026-10-01 21:30 UTCGHSA enrichment
  14. 2026-10-01 19:51 UTCEPSS rescore
  15. 2026-10-01 10:05 UTCGHSA enrichment
  16. 2026-09-30 22:40 UTCEG score recompute
  17. 2026-09-30 22:40 UTCGHSA enrichment
  18. 2026-09-30 15:04 UTCEPSS rescore
  19. 2026-09-30 11:15 UTCGHSA enrichment
  20. 2026-09-29 23:50 UTCEG score recompute
  21. 2026-09-29 23:50 UTCGHSA enrichment
  22. 2026-09-29 10:45 UTCGHSA enrichment
  23. 2026-09-28 23:20 UTCEG score recompute
  24. 2026-09-28 23:20 UTCGHSA enrichment
  25. 2026-09-28 13:52 UTCEPSS rescore
Show 20 more
  1. 2026-09-28 13:52 UTCEPSS rescore
  2. 2026-09-28 11:55 UTCGHSA enrichment
  3. 2026-09-28 00:30 UTCEG score recompute
  4. 2026-09-28 00:30 UTCGHSA enrichment
  5. 2026-09-27 13:49 UTCEPSS rescore
  6. 2026-09-27 13:05 UTCGHSA enrichment
  7. 2026-09-27 01:39 UTCEG score recompute
  8. 2026-09-27 01:39 UTCGHSA enrichment
  9. 2026-09-26 15:59 UTCEPSS rescore
  10. 2026-09-26 14:14 UTCGHSA enrichment
  11. 2026-09-26 02:49 UTCEG score recompute
  12. 2026-09-26 02:49 UTCGHSA enrichment
  13. 2026-09-25 15:24 UTCEG score recompute
  14. 2026-09-25 15:24 UTCGHSA enrichment
  15. 2026-09-25 14:52 UTCEG score recompute▲ 7.80
  16. 2026-09-25 14:52 UTCGHSA enrichment
  17. 2026-09-25 14:49 UTCMITRE cvelistV5CVSS v3 → 7.8 · severity → HIGH
  18. 2026-09-25 11:30 UTCNVD update
  19. 2026-09-25 10:37 UTCEG score recompute
  20. 2026-09-25 10:27 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-97903?
CVE-2026-97903 is a high vulnerability published on September 25, 2026. In the Linux kernel, the following vulnerability has been resolved: exit: hold a reference to threadpid across procflush_pid Commit 0a36bad01731 ("release_task: kill the no longer needed get/putpid(threadpid)") removed the reference around procflushpid(). It assumed that freepids(post.pids) at the…
When was CVE-2026-97903 disclosed?
CVE-2026-97903 was first published on September 25, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-97903 actively exploited?
CVE-2026-97903 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.1% probability of exploitation in the next 30 days (1st percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-97903?
CVE-2026-97903 has a CVSS base score of 7.8 (a secondary CVSS source that NVD displays; NVD's own analysis pending).
How do I remediate CVE-2026-97903?
No fix for CVE-2026-97903 is confirmed yet. Until one is published, restrict network exposure of the affected system or apply the vendor's mitigation — for example, keep it off the internet or limit it to trusted networks — and watch the vendor's advisory for the fix. The vendor advisories EchelonGraph has for CVE-2026-97903 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-97903

Explore →

Is Your Infrastructure Affected by CVE-2026-97903?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.