CVE-2026-72860

HIGHPre-NVD 8.58.5—
EchelonGraph scoreMEDIUM confidence

Score 8.5 from GitHub Security Advisory published 2026-08-21. The CNA's CVSS baseline 8.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: cna:vulncheck, epss, ghsa
Trending — 3 sources updated this weekElevated
8.5EG
EchelonGraph verdictPlan mitigationSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0.4%CVSS: 8.5Exploit: Elevated riskExposed services: Not assessed

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

The POST /api/provider-nodes/validate route in 9router takes a caller-supplied baseUrl and issues server-side HTTP requests to it, guarding the destination with assertPublicUrl from src/shared/utils/ssrfGuard.js. That guard compares hostname strings only: it resolves no DNS, does not revalidate after a redirect, and its IPv4-mapped IPv6 branch is unreachable. The branch matches ^::ffff:(\d+\.\d+\.\d+\.\d+)$, but the WHATWG URL parser canonicalizes such literals to hextets before the guard runs, so new URL("http://[::ffff:127.0.0.1]/").hostname yields [::ffff:7f00:1] and the pattern is tested against a string it is never handed. Every IPv4-mapped address therefore passes, and http://[::ffff:7f00:1] and http://[::ffff:a9fe:a9fe] reach loopback and link-local metadata addresses; a hostname whose A record points at an internal address passes as well because no resolution occurs. In the custom-embedding branch the upstream response body is truncated to 200 bytes and returned to the caller whenever the upstream status is neither 2xx nor 401 nor 403, which discloses the beginning of internal responses, and the other validation types remain usable for blind internal port scanning through status and timing differences. The caller-supplied apiKey is forwarded to the internal destination as an Authorization Bearer header. A dashboard session is required by default, and none is required when requireLogin is disabled.

CVSS v3
8.5
EG Score
8.5HIGHmedium confidence
EG Risk
54
EG Risk 54/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
Severity85% × 45%
Exploitation40% × 40%
Automatability0% × 15%
CISA SSVC: Track at low or medium mission impact; Track* 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, and watch the vendor's advisory for the fix.
EPSS PROB
0.4%
EPSS %ILE
30th
KEV
Not listed

CISA SSVCTrack at low or medium mission impact; Track* 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, and watch the vendor's advisory for the fix.

Exploitation public PoC (CISA Vulnrichment) · Automatable no (CISA Vulnrichment) · Technical impact partial (CISA Vulnrichment). 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

August 20, 2026

Last Modified

September 24, 2026

Advisory Details (6)

Auto-updated Aug 20, 2026
🔬 Proof of concept available. No patch confirmed yet. Sources: github_pr.
generic

9router Server-Side Request Forgery via /api/provider-nodes/validate Because the IPv4-Mapped IPv6 Denylist Check Is Unreachable | Advisories | VulnCheck

https://www.vulncheck.com/advisories/9router-server-side-request-forgery-via-api-provider-nodes-validate-because-the-ipv4-mapped-ipv6-denylist-check-is-unreachable
generic

GitHub - decolua/9router: Unlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits. · GitHub

https://github.com/decolua/9router
github_pr

fix(ssrf): judge IPv4-mapped IPv6 by address, not by spelling

Upstream fix in progress (PR #3370 · decolua/9router, state=closed)

https://github.com/decolua/9router/pull/3370
generic

9router/src/app/api/provider-nodes/validate/route.js at master · decolua/9router · GitHub

https://github.com/decolua/9router/blob/master/src/app/api/provider-nodes/validate/route.js
generic

9router/src/shared/utils/ssrfGuard.js at master · decolua/9router · GitHub

https://github.com/decolua/9router/blob/master/src/shared/utils/ssrfGuard.js
generic🟡 PoC Available

Server-Side Request Forgery (SSRF) in /api/provider-nodes/validate via bypassable URL guard · Issue #3293 · decolua/9router · GitHub

https://github.com/decolua/9router/issues/3293

Vendor Advisories for CVE-2026-72860(1)

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

Weakness Classification(2)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 21× in last 7d / 100× 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 168 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2026-72860?
CVE-2026-72860 is a high vulnerability published on August 20, 2026. The POST /api/provider-nodes/validate route in 9router takes a caller-supplied baseUrl and issues server-side HTTP requests to it, guarding the destination with assertPublicUrl from src/shared/utils/ssrfGuard.js. That guard compares hostname strings only: it resolves no DNS, does not revalidate…
When was CVE-2026-72860 disclosed?
CVE-2026-72860 was first published on August 20, 2026, with the most recent update on September 24, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-72860 actively exploited?
CVE-2026-72860 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.4% probability of exploitation in the next 30 days (30th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-72860?
CVE-2026-72860 has a CVSS base score of 8.5 (the CNA's own assessment, by vulncheck; NVD's own analysis pending).
How do I remediate CVE-2026-72860?
No fix for CVE-2026-72860 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-72860 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-72860

Explore →

Is Your Infrastructure Affected by CVE-2026-72860?

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