CVE-2026-64560

HIGHPre-NVD 7.87.8
EchelonGraph scoreMEDIUM confidence

“—” beside the score: it is equal to the CVSS score beside it.

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, GitHub Security Advisory, a secondary CVSS source
Trending — 4 sources updated this weekElevated
7.8EG
EchelonGraph verdictPlan a fixRemediate within your standard update timelines at low or medium mission impact and sooner than that at high (the SSVC decision on this page).
  • Public exploit or proof-of-concept code is available
CISA-KEV: Not listedEPSS PROB: 0.6%CVSS: 7.8Exploit: Public PoCExposed services: Not assessed

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.8HIGHmedium confidence
EG Risk
51
EG Risk 51/100

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 (value × EchelonGraph’s weight)
Severity78% × 45%
The EG Score, 7.8 of 10.
Exploitation40% × 40%
EchelonGraph's fixed weight for EG-KEV Tier 3 (Elevated): a constant, not a probability.
Automatability0% × 15%
CISA's BOD 26-04 default: no one has published Automatable for this CVE, and CISA treats it as “no” for a CVE not in KEV.
SSVC (CISA's decision table, applied by EchelonGraph): Track at low, Track* at medium and Attend at high mission impact.
Exploitation public PoC (exploit code on record) · Automatable no (CISA's BOD 26-04 default) · Technical impact total (CISA's BOD 26-04 default). EchelonGraph holds no SSVC assessment of this CVE from CISA: none of these inputs is from Vulnrichment. EchelonGraph applied CISA's decision table to them; CISA publishes SSVC inputs and the table, not a decision for each CVE.
Action: A fix is available. Apply it within your standard update timelines at low or medium mission impact and sooner than that at high.
EPSS PROB
0.6%
EPSS %ILE
49th
KEV
Not listed

SSVC (CISA's decision table, applied by EchelonGraph)Track at low, Track* at medium and Attend at high mission impact.

A fix is available. Apply it within your standard update timelines at low or medium mission impact and sooner than that at high.

Exploitation public PoC (exploit code on record) · Automatable no (CISA's BOD 26-04 default) · Technical impact total (CISA's BOD 26-04 default). EchelonGraph holds no SSVC assessment of this CVE from CISA: none of these inputs is from Vulnrichment. EchelonGraph applied CISA's decision table to them; CISA publishes SSVC inputs and the table, not a decision for each CVE. Mission impact is CISA's Mission & Well-being decision point, and only you can judge it. CISA's table makes it high when Mission Prevalence is Essential — the vulnerable component "directly provides capabilities that constitute at least one MEF for at least one entity" (MEF: mission essential function) — or when Public Well-Being Impact is Irreversible: "multiple fatalities are likely", the cyber-physical system "is likely lost or destroyed", "extreme or serious externalities" are imposed on other parties, or social systems such as elections or the financial grid "are destabilized and potentially collapse". CISA's decision table

BOD 26-04 (CISA's remediation timeline, Table 1)14 days if the affected system is publicly exposed; Fix on system upgrade if it is not.

In CISA KEV no (CISA's KEV catalog) · Automatable no (CISA's BOD 26-04 default) · Technical impact total (CISA's BOD 26-04 default). Where an input reads “CISA's BOD 26-04 default”, no one has published it for this CVE, and CISA's implementation guidance says: “If “Automatable” and “Technical Impact” information items about a CVE ID are not available and the CVE ID is not in the KEV Catalog, CISA will treat its values as “no” and “total,” respectively, until CISA or a third party provides metadata about the CVE ID. CISA will always provide the Vulnrichment data for a CVE ID listed in the KEV Catalog.” Whether your system is publicly exposed is yours to answer. BOD 26-04 binds US Federal Civilian Executive Branch agencies; for anyone else it is CISA's published timeline, a reference rather than an obligation. The directive · how EchelonGraph applies it

Published

July 29, 2026

Last Modified

September 8, 2026

Advisory Details (2)

Auto-updated Jul 30, 2026
Patch available.
Web page

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
Web page

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(12)

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 rangeFix by version rangeDependents
linux5.10.103-1 ... 5.10.92-2 (55 versions)
  • every version up to 5.10.262-1: fixed in 5.10.262-1
—
linux-6.16.1.106-3~deb11u1 ... 6.1.177-1~deb11u1 (22 versions)
  • every version up to 6.1.180-1~deb11u1: fixed in 6.1.180-1~deb11u1
—
Debian:12(2)
PackageVulnerable rangeFix by version rangeDependents
linux6.1.106-1 ... 6.1.99-1 (55 versions)
  • every version up to 6.1.180-1: fixed in 6.1.180-1
—
linux-6.12—
  • every version up to 6.12.100-1~deb12u1: fixed in 6.12.100-1~deb12u1
—
Debian:13(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.38-1 ... 6.12.96-1 (31 versions)
  • every version up to 6.12.100-1: fixed in 6.12.100-1
—
Debian:14(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.100-1 ... 7.1~rc7-1~exp1 (160 versions)
  • every version up to 7.1.5-1: fixed in 7.1.5-1
—

Additional Vendor Advisories

(9)

Data Freshness Timeline

(refreshed 14× in last 7d / 88× in last 30d)

Each row is a time one of our pipelines fetched, updated or re-scored this CVE. 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. An arrow marks a change the record states ("CVSS v3 → 9.1"); EPSS and GHSA rows show the values recorded at that time, not what changed (EPSS values are rounded; hover one for the exact figures). Most recent first.

Showing the most recent 100 of 313 refreshes on record for this CVE.

A repeat, a row identical to one the same pipeline wrote less than 10 seconds earlier, is not a separate refresh and is not counted. None are among the latest 100 rows. The 213 oldest rows on record are not shown and were not checked, so the counts can still include repeats.

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

Publicly available exploits

(7 references)

Public exploit code is referenced for this CVE (7 GitHub PoCs). Defenders should treat patch urgency accordingly.

  • GitHub PoCqingle009/opace6-cve-2026-64560
    Published Sep 26, 2026

    OnePlus Ace 6 temporary root tool (CVE-2026-64560) - device-verified port with corrected bootidParent address

    Open source ↗
  • GitHub PoCBecome-ILLUSORY/cve-2026-64560-a16
    Published Sep 25, 2026

    CVE-2026-64560 toolkit: Go single-binary toolchain + realme RMX5010 (A16, SM8750) target port

    Open source ↗
  • GitHub PoCWangs-official/opace6-cve-2026-64560
    Published Sep 25, 2026

    针对 OnePlus Ace6 设备的 cve-2026-64560 复现

    Open source ↗
  • GitHub PoCa23bc/op13-cve-2026-64560
    Published Sep 24, 2026
    Open source ↗
  • GitHub PoCquyicheng03-boop/xiaomi15-dada-cve-2026-64560
    Published 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
    Published Aug 3, 2026
    Open source ↗
  • GitHub PoCimkidz0/CVE-2026-64560-exploit
    Published Jul 23, 2026

    Exploit of CVE-2026-64560 for kernelCTF, LTS-6.12.95

    Open source ↗

Frequently asked(5)

What is CVE-2026-64560?
CVE-2026-64560 is a high-severity vulnerability; its CVE record was 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 the CVE record for CVE-2026-64560 published?
The CVE record for CVE-2026-64560 was published on July 29, 2026. That is the record's publication date; the vulnerability itself may have been made public earlier. EchelonGraph's copy of the record carries a last-modified date of September 8, 2026; the record at its source may have been updated since.
Is CVE-2026-64560 actively exploited?
CVE-2026-64560 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.6% probability of exploitation in the next 30 days (49th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-64560?
CVE-2026-64560 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-64560?
A fix for CVE-2026-64560 is available: update to the fixed version the vendor names in its advisory. The vendor advisories EchelonGraph has for CVE-2026-64560 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-64560

Explore →

Is Your Infrastructure Affected by CVE-2026-64560?

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