CVE-2026-93606

CRITICALPre-NVD 10.010.0
EchelonGraph scoreHIGH confidence

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

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

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

vm2 (npm) versions 3.12.0 and earlier contain a sandbox escape in VM and NodeVM. When an embedder exposes a host API that returns a host-realm Promise, the bridge's rejection sanitizer (hostPromiseSanitizeReject / makeSanitizedPromiseCallback / normalizeHostPromiseCallbacks in lib/bridge.js) only wraps then/catch rejection slots that hold a function, and the sandbox-side Symbol.species/.then neutralization is installed only on the sandbox intrinsic Promise.prototype, so it never applies to a host Promise. Code running inside the sandbox can overwrite p.constructor[Symbol.species] on the host Promise and then call p.then() with no onRejected handler; V8 substitutes its internal Thrower, which re-throws the raw host rejection value into a resolve/reject closure captured by the attacker. This delivers an unsanitized, fully functional bridge proxy of the host object to sandboxed code, bypassing handleException and hostPromiseSanitizeReject. If the rejection value is host-pivotable (for example a host process object), this results in arbitrary code execution on the host. Fixed in 3.12.1.

CVSS v3
10.0
EG Score
10.0(high)
EG Risk
76(Attend)
EG Risk 76/100SSVC: Attend

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
Severity100% × 45%
Exploitation40% × 40%
Automatability100% × 15%
Action: Remediate soon — notable exploitation risk.
EPSS PROB
1%
EPSS %ILE
43%
KEV
Not listed

Published

September 18, 2026

Last Modified

September 18, 2026

Advisory Details (2)

Auto-updated Sep 18, 2026
🔬 Proof of concept available. Patch available. Sources: github.
github Patch Available🟡 PoC Available

Sandbox escape in `VM`/`NodeVM`: a host-realm Promise's rejection sanitizer is bypassed via `Symbol.species` hijack and a missing `onRejected` handler, delivering the raw host rejection value to the sandbox · Advisory · patriksimek/vm2 · GitHub

https://github.com/patriksimek/vm2/security/advisories/GHSA-6454-5x88-m6jw
generic

vm2 before 3.12.1 Sandbox Escape via Promise Symbol.species | Advisories | VulnCheck

https://www.vulncheck.com/advisories/vm2-before-3.12.1-sandbox-escape-via-promise-symbol-species

Vendor Advisories for CVE-2026-93606(1)

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

Weakness Classification(1)

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

Data Freshness Timeline

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

  1. 2026-09-19 20:01 UTCEG score recompute
  2. 2026-09-19 20:01 UTCGHSA enrichment
  3. 2026-09-19 15:46 UTCGHSA enrichment
  4. 2026-09-19 11:29 UTCGHSA enrichment
  5. 2026-09-19 07:13 UTCGHSA enrichment
  6. 2026-09-19 02:58 UTCGHSA enrichment
  7. 2026-09-18 22:43 UTCGHSA enrichment
  8. 2026-09-18 18:29 UTCEG score recompute
  9. 2026-09-18 18:29 UTCGHSA enrichment
  10. 2026-09-18 17:54 UTCEG score recompute
  11. 2026-09-18 17:54 UTCGHSA enrichment
  12. 2026-09-18 14:21 UTCEG score recompute
  13. 2026-09-18 13:29 UTCEG score recompute
  14. 2026-09-18 13:29 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-93606?
CVE-2026-93606 is a critical vulnerability published on September 18, 2026. vm2 (npm) versions 3.12.0 and earlier contain a sandbox escape in VM and NodeVM. When an embedder exposes a host API that returns a host-realm Promise, the bridge's rejection sanitizer (hostPromiseSanitizeReject / makeSanitizedPromiseCallback / normalizeHostPromiseCallbacks in lib/bridge.js) only…
When was CVE-2026-93606 disclosed?
CVE-2026-93606 was first published in the National Vulnerability Database on September 18, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-93606 actively exploited?
CVE-2026-93606 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 1% probability of exploitation in the next 30 days, which ranks it in the top 57.0% of all scored CVEs.
What is the CVSS score of CVE-2026-93606?
CVE-2026-93606 has a CVSS v3 base score of 10.0 (NVD).
How do I remediate CVE-2026-93606?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-93606, 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

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

Explore →

Is Your Infrastructure Affected by CVE-2026-93606?

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