CVE-2026-64560

HIGHPre-NVD 7.87.8
EchelonGraph scoreMEDIUM confidence

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

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 4 sources updated this weekElevated
7.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 7.8Exploit: Elevated riskExposed: 0

A fix is available — apply it.

In the Linux kernel, the following vulnerability has been resolved:

posix-cpu-timers: Prevent UAF caused by non-leader exec() race

Wongi and Jungwoo decoded and reported a non-leader exec() related race which can result in an UAF:

sys_timer_delete() exec() posix_cpu_timer_del() // Observes old leader p = pid_task(pid, pid_type); de_thread() switch_leader(); release_task(old_leader) __exit_signal(old_leader) sighand = lock(old_leader, sighand); posix_cpu_timers*_exit(); sighand = lock_task_sighand(p) unhash_task(old_leader); sh = lock(p, sighand) old_leader->sighand = NULL; unlock(sighand); (p->sighand == NULL) unlock(sh) return NULL;

// Returns without action if(!sighand) return 0; free_posix_timer();

This is "harmless" unless the deleted timer was armed and enqueued in p->signal because on exec() a TGID targeted timer is inherited.

As sys_timer_delete() freed the underlying posix timer object run_posix_cpu_timers() or any timerqueue related add/delete operations on other timers will access the freed object's timerqueue node, which results in an UAF.

There is a similar problem vs. posix_cpu_timer_set(). For regular posix timers it just transiently returns -ESRCH to user space, but for the use case in do_cpu_nanosleep() it's the same UAF just that the k_itimer is allocated on the stack.

Also posix_cpu_timer_rearm() fails to rearm the timer, which means it stops to expire.

While debating solutions Frederic pointed out another problem:

posix_cpu_timer_del(tmr) __exit_signal(p) posix_cpu_timers*_exit(p); unhash_task(p); p->sighand = NULL; sh = lock_task_sighand(p) sighand = p->sighand; if (!sighand) return NULL; lock(sighand);

if (!sh) WARN_ON_ONCE(timer_queued(tmr));

On weakly ordered architectures it is not guaranteed that posix_cpu_timer_del() will observe the stores in posix_cpu_timers*_exit() when p->sighand is observed as NULL, which means the WARN() can be a false positive.

Solve these issues by:

1) Changing the store in __exit_signal() to smp_store_release().

2) Adding a smp_acquire__after_ctrl_dep() into the !sighand path of lock_task_sighand().

3) Creating a helper function for looking up the task and locking sighand which does not return when sighand == NULL. Instead it retries the task lookup and only if that fails it gives up.

4) Using that helper in the three affected functions.

#1/#2 ensures that the reader side which observes sighand == NULL also observes all preceeding stores, i.e. the stores in posix_cpu_timers*_exit() and the ones in unhash_task().

#3 ensures that the above described non-leader exec() situation is handled gracefully. When the task lookup returns the old leader, but sighand == NULL then it retries. In the non-leader exec() case the subsequent task lookup will observe the new leader due to #1/#2. In normal exit() scenarios the subsequent lookup fails.

When the task lookup fails, the function also checks whether the timer is still enqueued and issues a warning if that's the case. Unfortunately there is nothing which can be done about it, but as the task is already not longer visible the timer should not be accessed anymore. This check also requires memory ordering, which is not provided when the first lookup fails. To achieve that the check is preceeded by a smp_rmb() which pairs with the smp_wmb() in write_seqlock() in __exit_signal(). That ensures that the stores in posix_cpu_timers*_exit() are visible.

The history of the non-leader exec() issue goes back to the early days of posix CPU timers, which stored a pointer to the group leader task in the timer. That obviously fails when a non-leader exec() switches the leader. commit e0a70217107e ("posix-cpu-timers: workaround to suppress the problems with mt exec") added a temporary workaround for that in 2010 which surv ---truncated---

CVSS v3
7.8
EG Score
7.8(medium)
EG Risk
56(Track)
EG Risk 56/100SSVC: Track

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%
Exploitation40% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
33%
KEV
Not listed

Published

July 29, 2026

Last Modified

August 17, 2026

Advisory Details (2)

Auto-updated Jul 30, 2026
No patch confirmed yet.
generic

posix-cpu-timers: Prevent UAF caused by non-leader exec() race - kernel/git/stable/linux.git - Linux kernel stable tree

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

posix-cpu-timers: Prevent UAF caused by non-leader exec() race - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/920f893f735e92ba3a1cd9256899a186b161928d

Vendor Advisories for CVE-2026-64560(2)

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

Patch Availability(2)

Vendor / EcosystemFixed in / PatchReleasedSource
redhatkernel-0:6.12.0-211.49.1.el10_22026-08-20redhat
redhatkernel-0:5.14.0-687.41.1.el9_82026-08-20redhat

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Affected Packages

(6 across 4 ecosystems)
Debian:11(2)
PackageVulnerable rangeFixed inDependents
linux5.10.103-1 ... 5.10.92-2 (55 versions)5.10.262-1
linux-6.16.1.106-3~deb11u1 ... 6.1.177-1~deb11u1 (22 versions)6.1.180-1~deb11u1
Debian:12(2)
PackageVulnerable rangeFixed inDependents
linux6.1.106-1 ... 6.1.99-1 (55 versions)6.1.180-1
linux-6.126.12.100-1~deb12u1
Debian:13(1)
PackageVulnerable rangeFixed inDependents
linux6.12.38-1 ... 6.12.96-1 (31 versions)6.12.100-1
Debian:14(1)
PackageVulnerable rangeFixed inDependents
linux6.12.100-1 ... 7.1~rc7-1~exp1 (157 versions)7.1.5-1

Additional Vendor Advisories

(2)

Vendors that published advisories for this CVE beyond the curated set above. Broader coverage but minimal per-row detail — click through for the original advisory.

Data Freshness Timeline

(refreshed 31× in last 7d / 142× 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.

Showing the most recent 100 of 157 total refreshes for this CVE.

  1. 2026-08-30 01:22 UTCEPSS rescore
  2. 2026-08-29 23:17 UTCEG score recompute
  3. 2026-08-29 23:17 UTCVendor advisory
  4. 2026-08-29 23:17 UTCGHSA enrichment
  5. 2026-08-28 21:42 UTCEPSS rescore
  6. 2026-08-27 20:55 UTCEG score recompute
  7. 2026-08-27 20:55 UTCVendor advisory
  8. 2026-08-27 20:55 UTCGHSA enrichment
  9. 2026-08-27 03:59 UTCVendor advisory
  10. 2026-08-27 03:59 UTCGHSA enrichment
  11. 2026-08-26 14:51 UTCEG score recompute
  12. 2026-08-26 14:51 UTCVendor advisory
  13. 2026-08-26 14:51 UTCGHSA enrichment
  14. 2026-08-26 14:47 UTCEPSS rescore
  15. 2026-08-26 01:43 UTCEG score recompute
  16. 2026-08-26 01:43 UTCVendor advisory
  17. 2026-08-26 01:42 UTCGHSA enrichment
  18. 2026-08-25 13:49 UTCEPSS rescore
  19. 2026-08-25 12:35 UTCVendor advisory
  20. 2026-08-25 12:35 UTCGHSA enrichment
  21. 2026-08-24 23:28 UTCEG score recompute
  22. 2026-08-24 23:28 UTCVendor advisory
  23. 2026-08-24 23:28 UTCGHSA enrichment
  24. 2026-08-24 10:20 UTCEG score recompute
  25. 2026-08-24 10:20 UTCVendor advisory
Show 75 more
  1. 2026-08-24 10:20 UTCGHSA enrichment
  2. 2026-08-23 21:12 UTCVendor advisory
  3. 2026-08-23 21:12 UTCGHSA enrichment
  4. 2026-08-23 08:05 UTCEG score recompute
  5. 2026-08-23 08:05 UTCVendor advisory
  6. 2026-08-23 08:05 UTCGHSA enrichment
  7. 2026-08-23 00:19 UTCEPSS rescore
  8. 2026-08-22 18:57 UTCVendor advisory
  9. 2026-08-22 18:57 UTCGHSA enrichment
  10. 2026-08-22 05:49 UTCEG score recompute
  11. 2026-08-22 05:49 UTCVendor advisory
  12. 2026-08-22 05:49 UTCGHSA enrichment
  13. 2026-08-21 23:49 UTCEPSS rescore
  14. 2026-08-21 16:41 UTCVendor advisory
  15. 2026-08-21 16:41 UTCGHSA enrichment
  16. 2026-08-21 03:33 UTCEG score recompute
  17. 2026-08-21 03:33 UTCVendor advisory
  18. 2026-08-21 03:33 UTCGHSA enrichment
  19. 2026-08-20 22:55 UTCEPSS rescore
  20. 2026-08-20 14:26 UTCVendor advisory
  21. 2026-08-20 14:26 UTCGHSA enrichment
  22. 2026-08-20 00:30 UTCEG score recompute
  23. 2026-08-20 00:30 UTCVendor advisory
  24. 2026-08-20 00:30 UTCGHSA enrichment
  25. 2026-08-19 17:04 UTCEPSS rescore
  26. 2026-08-19 11:22 UTCVendor advisory
  27. 2026-08-19 11:22 UTCGHSA enrichment
  28. 2026-08-18 22:15 UTCEG score recompute
  29. 2026-08-18 22:15 UTCGHSA enrichment
  30. 2026-08-18 13:48 UTCEPSS rescore
  31. 2026-08-18 09:07 UTCVendor advisory
  32. 2026-08-18 09:06 UTCGHSA enrichment
  33. 2026-08-17 19:54 UTCEG score recompute
  34. 2026-08-17 19:54 UTCVendor advisory
  35. 2026-08-17 19:54 UTCGHSA enrichment
  36. 2026-08-17 13:47 UTCEPSS rescore
  37. 2026-08-17 05:42 UTCEG score recompute
  38. 2026-08-17 05:42 UTCVendor advisory
  39. 2026-08-17 05:42 UTCGHSA enrichment
  40. 2026-08-17 05:14 UTCVendor advisory
  41. 2026-08-17 05:14 UTCGHSA enrichment
  42. 2026-08-17 00:50 UTCEG score recompute
  43. 2026-08-17 00:50 UTCVendor advisory
  44. 2026-08-17 00:50 UTCGHSA enrichment
  45. 2026-08-16 14:56 UTCEPSS rescore
  46. 2026-08-16 11:42 UTCEG score recompute
  47. 2026-08-16 11:42 UTCVendor advisory
  48. 2026-08-16 11:42 UTCGHSA enrichment
  49. 2026-08-15 22:35 UTCVendor advisory
  50. 2026-08-15 22:35 UTCGHSA enrichment
  51. 2026-08-15 09:27 UTCEG score recompute
  52. 2026-08-15 09:27 UTCVendor advisory
  53. 2026-08-15 09:27 UTCGHSA enrichment
  54. 2026-08-15 01:30 UTCEPSS rescore
  55. 2026-08-14 20:19 UTCVendor advisory
  56. 2026-08-14 20:19 UTCGHSA enrichment
  57. 2026-08-14 07:11 UTCEG score recompute
  58. 2026-08-14 07:11 UTCVendor advisory
  59. 2026-08-14 07:11 UTCGHSA enrichment
  60. 2026-08-13 22:00 UTCEPSS rescore
  61. 2026-08-13 18:03 UTCVendor advisory
  62. 2026-08-13 18:03 UTCGHSA enrichment
  63. 2026-08-13 04:56 UTCGHSA enrichment
  64. 2026-08-12 15:48 UTCEG score recompute
  65. 2026-08-12 15:48 UTCVendor advisory
  66. 2026-08-12 15:48 UTCGHSA enrichment
  67. 2026-08-12 13:51 UTCEPSS rescore
  68. 2026-08-12 02:41 UTCEG score recompute
  69. 2026-08-12 02:41 UTCVendor advisory
  70. 2026-08-12 02:41 UTCGHSA enrichment
  71. 2026-08-11 13:34 UTCVendor advisory
  72. 2026-08-11 13:34 UTCGHSA enrichment
  73. 2026-08-11 00:26 UTCEG score recompute
  74. 2026-08-11 00:26 UTCVendor advisory
  75. 2026-08-11 00:26 UTCGHSA enrichment

Publicly available exploits

(1 reference)

Working exploit code is in the public domain (1 GitHub PoC). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.

  • GitHub PoCvillager1314/CVE-2026-64560-Analysis
    First seen Aug 3, 2026
    Open source ↗

Frequently asked(5)

What is CVE-2026-64560?
CVE-2026-64560 is a high vulnerability published on July 29, 2026. In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: Prevent UAF caused by non-leader exec() race Wongi and Jungwoo decoded and reported a non-leader exec() related race which can result in an UAF: systimerdelete() exec() posixcputimer_del() // Observes old leader p…
When was CVE-2026-64560 disclosed?
CVE-2026-64560 was first published in the National Vulnerability Database on July 29, 2026, with the most recent update on August 17, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-64560 actively exploited?
CVE-2026-64560 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 67.1% of all scored CVEs.
What is the CVSS score of CVE-2026-64560?
CVE-2026-64560 has a CVSS v3 base score of 7.8 (NVD).
How do I remediate CVE-2026-64560?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-64560, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

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

Explore →

Is Your Infrastructure Affected by CVE-2026-64560?

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