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
36%
KEV
Not listed

Published

July 29, 2026

Last Modified

September 8, 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

Patch Availability(3)

Vendor / EcosystemFixed in / PatchReleasedSource
redhatkernel-0:5.14.0-570.140.1.el9_62026-09-09redhat
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 (159 versions)7.1.5-1

Additional Vendor Advisories

(1)

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 30× in last 7d / 134× 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 245 total refreshes for this CVE.

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

Publicly available exploits

(2 references)

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

  • GitHub PoCquyicheng03-boop/xiaomi15-dada-cve-2026-64560
    First seen Sep 5, 2026

    Device-bound CVE-2026-64560 adaptation for Xiaomi 15 dada OS4.0.0.8

    Open source ↗
  • 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 September 8, 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 64.4% 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.