Skip to content
Tuesday, October 13, 2026AboutContactRSS
Vulnerabilities

vm2 sandbox escape on Node.js 26 through a stale PromiseThenLookupChain protector (Critical severity, CVE-2026-92944)

A critical-severity advisory for the npm package vm2 is fixed in version 3.11.7.

Illustration: A sleek white computer sits on a desk with its side panel removed to reveal internal circuit boards.
AI-generated illustration: Threat Times

Key points

  • vm2 (npm) has a critical flaw.
  • Tracked as CVE-2026-92944.
  • Version 3.11.7.

Maintainers of vm2, a package in the npm ecosystem, have published a critical-severity security advisory (CVE-2026-92944): vm2 sandbox escape on Node.js 26 through a stale PromiseThenLookupChain protector.

At a glance

Advisory
GHSA-27g9-p43v-cw3v
CVE
CVE-2026-92944
Package
vm2 (npm)
Severity
Critical
Patched in
3.11.7

What is the issue?

The GitHub-reviewed advisory explains: Reporter - Name or handle: [YMsora] - Report date: 2026-08-14 Summary The latest published vm2 release, 3.11.5, and the current main branch are vulnerable to a sandbox escape when used on Node.js 26. An ordinary fulfilled Promise created by an async function can retain an attacker-controlled constructor[Symbol.species] across Promise.prototype.finally(). vm2 installs wrappers on the intrinsic Promise.prototype.then and catch methods. On Node.js 26 / V8 14.6, V8's SetPrototypeProperties path updates these existing data properties without invalidating the PromiseThenLookupChain protector. Promise.prototype.finally() subsequently trusts the stale protector and uses an internal InvokeThen fast path that calls the original native then, bypassing vm2's wrapper and its resetPromiseSpecies(this) hardening. The attacker-controlled species constructor therefore supplies the resolve and reject func

Affected versions

EcosystemPackageVulnerablePatched
npmvm2>= 3.10.2, <= 3.11.63.11.7

The advisory lists a CVSS score of 9.8.

How to fix it

  • Upgrade the affected package to the first patched version listed above.
  • Rebuild and redeploy applications that bundle the vulnerable dependency.
  • Run your dependency scanner (npm audit, pip-audit, Dependabot) to find transitive uses.
  • Review the advisory references for workaround details if you cannot upgrade yet.

What to do and how to stay safe: CVE-2026-92944

  • Patch scores alone ignore context like network exposure and asset criticality.
  • You must map vulnerabilities to specific business risks to prioritize correctly.
  • Continuous exposure data replaces static scanning for accurate prioritization.

Prioritize vulnerabilities by actual exploitability and business impact, not by theoretical severity scores. Update your asset context and exposure data continuously to maintain accurate risk rankings.

Step-by-step guide: Risk Based Vulnerability Management: Prioritize Fixes by Actual Threat

General security guidance from the Threat Times newsroom. It is not confirmed advice from the organisations named in this story.

Frequently asked questions

What is CVE-2026-92944?

CVE-2026-92944 is a security vulnerability in vm2 (npm).

Which version fixes CVE-2026-92944?

The fix is in version 3.11.7.

Sources

  1. GitHub Advisory GHSA-27g9-p43v-cw3v (CC BY 4.0)
  2. Reference
  3. Reference
  4. Reference
CVE-2026-92944vm2npmOpen Source
Related articles