CVE-2026-64459

CRITICALPre-NVD 9.89.8
EchelonGraph scoreMEDIUM confidence

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

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 4 sources updated this week
9.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: 9.8Exploit: None knownExposed: 0

A fix is available — apply it.

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

tcp: restore RCU grace period in tcp_ao_destroy_sock

Commit 51e547e8c89c ("tcp: Free TCP-AO/TCP-MD5 info/keys without RCU") removed the call_rcu() callback from tcp_ao_destroy_sock(), arguing that "the destruction of info/keys is delayed until the socket destructor" and therefore "no one can discover it anymore".

That argument does not hold for the call site in tcp_connect() (net/ipv4/tcp_output.c:4327-4332). At that point the socket is in TCP_SYN_SENT, has already been inserted into the inet ehash by inet_hash_connect() in tcp_v4_connect(), and is therefore very much discoverable: any softirq running tcp_v4_rcv() on another CPU can take the socket out of the ehash, walk into tcp_inbound_hash(), and load tp->ao_info via implicit RCU before bh_lock_sock_nested() is taken on the destroying CPU.

The reader path then enters __tcp_ao_do_lookup() (net/ipv4/tcp_ao.c:208) which re-loads tp->ao_info via rcu_dereference_check(); the re-load can still observe the (about-to-be-freed) pointer because there is no synchronize_rcu() between rcu_assign_pointer(tp->ao_info, NULL) and tcp_ao_info_free() in tcp_ao_destroy_sock(). The captured pointer is then walked at line 223:

hlist_for_each_entry_rcu(key, &ao->head, node, ...)

The writer's synchronous kfree() is free to complete between the line 218 re-fetch and the line 223 hlist iteration. The slab is reused (or simply LIST_POISON1-stamped if not yet reused) and the iteration walks attacker-controlled or poison memory in softirq context.

Reproducer (no debug shim, stock x86_64 v7.1-rc2 SMP+KASAN, QEMU+KVM): an unprivileged uid=1000 process inside CLONE_NEWUSER|CLONE_NEWNET installs TCP_MD5SIG + TCP_AO_ADD_KEY on a TCP socket, sprays forged TCP-AO segments toward its eventual 4-tuple via raw sockets, then calls connect(). The md5-wins reconciliation in tcp_connect() fires tcp_ao_destroy_sock(); the softirq backlog reader on the loopback NAPI path crashes on the freed ao->head.first walk:

Oops: general protection fault, probably for non-canonical address 0xfbd59c000000002f KASAN: maybe wild-memory-access in range [0xdead000000000178-0xdead00000000017f] CPU: 0 UID: 1000 PID: 100 Comm: repro_userns RIP: 0010:__tcp_ao_do_lookup+0x107/0x1c0 Call Trace: __tcp_ao_do_lookup+0x107/0x1c0 tcp_ao_inbound_lookup.constprop.0+0x12a/0x200 tcp_inbound_ao_hash+0x5ea/0x1520 tcp_inbound_hash+0x7ce/0x1240 tcp_v4_rcv+0x1e7a/0x3e10 ...

Restore the RCU grace period: re-add struct rcu_head to tcp_ao_info and replace the synchronous tcp_ao_info_free() with a call_rcu() callback. Readers that captured tp->ao_info before rcu_assign_pointer NULLed it now see the object remain valid until rcu_read_unlock(). With the patch applied the reproducer runs cleanly for 2000 iterations on the same kernel build.

CVSS v3
9.8
EG Score
9.8(medium)
EG Risk
49(Track)
EG Risk 49/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
Severity98% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
40%
KEV
Not listed

Published

July 25, 2026

Last Modified

August 17, 2026

Advisory Details (3)

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

tcp: restore RCU grace period in tcp_ao_destroy_sock - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/8bc4d43bccbd60efe85d0a44d5bf41762f2f0c30
generic

tcp: restore RCU grace period in tcp_ao_destroy_sock - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/657646c08c94ef7b9dbe468fe7828032216f9841
generic

tcp: restore RCU grace period in tcp_ao_destroy_sock - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/4caf12c778fed3dc3824cf36263be5e2c491fbd0

Vendor Advisories for CVE-2026-64459(1)

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

Patch Availability(3)

Vendor / EcosystemFixed in / PatchReleasedSource
ubuntulinux-virtual-hwe-26.04-edge (7.0.0-31.31) @ resolute2026-09-15ubuntu
ubuntulinux-tools-gcp-edge (7.0.0-1011.11~24.04.1) @ noble2026-09-15ubuntu
ubuntulinux-tools-oem-7.0 (7.0.0-1013.13) @ resolute2026-09-15ubuntu

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

(1 across 1 ecosystem)
Debian:14(1)
PackageVulnerable rangeFixed inDependents
linux6.12.100-1 ... 7.1~rc7-1~exp1 (158 versions)7.1.4-1

All Vendor Advisories

(3)

Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.

Data Freshness Timeline

(refreshed 56× in last 7d / 179× 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 353 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2026-64459?
CVE-2026-64459 is a critical vulnerability published on July 25, 2026. In the Linux kernel, the following vulnerability has been resolved: tcp: restore RCU grace period in tcpaodestroy_sock Commit 51e547e8c89c ("tcp: Free TCP-AO/TCP-MD5 info/keys without RCU") removed the callrcu() callback from tcpaodestroysock(), arguing that "the destruction of info/keys is delayed…
When was CVE-2026-64459 disclosed?
CVE-2026-64459 was first published in the National Vulnerability Database on July 25, 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-64459 actively exploited?
CVE-2026-64459 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 60.3% of all scored CVEs.
What is the CVSS score of CVE-2026-64459?
CVE-2026-64459 has a CVSS v3 base score of 9.8 (NVD).
How do I remediate CVE-2026-64459?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-64459, 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-64459

Explore →

Is Your Infrastructure Affected by CVE-2026-64459?

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