Vulnerabilities / CVE-2026-22709

critical

CVE-2026-22709

vm2 has a Sandbox Escape

Published Modified CWE 94, 693, 913
In the Trivy database since at least 24 Oct 2026, 07:11 UTCWhen it arrived before that build is not recorded.

Severity by source

NVD10.0CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
GHSA9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Trivy's own label is CRITICAL. Rated critical by NVD, GHSA.

Description

vm2 is an open source vm/sandbox for Node.js. In vm2 prior to version 3.10.2, `Promise.prototype.then` `Promise.prototype.catch` callback sanitization can be bypassed. This allows attackers to escape the sandbox and run arbitrary code. In lib/setup-sandbox.js, the callback function of `localPromise.prototype.then` is sanitized, but `globalPromise.prototype.then` is not sanitized. The return value of async functions is `globalPromise` object. Version 3.10.2 fixes the issue.

Affected packages and fixed versions

SourcePackageFixed in
npm::GitHub Security Advisory npmvm23.10.2
seal npm::Seal Security Database@seal-security/vm2, vm23.9.11-sp999, 3.9.12-sp999, 3.9.13-sp999, 3.9.14-sp999
Show all 3 entries from 2 sources
SourcePackageFixed in
npm::GitHub Security Advisory npmvm23.10.2
seal npm::Seal Security Database@seal-security/vm23.9.11-sp999, 3.9.12-sp999, 3.9.13-sp999, 3.9.14-sp999
seal npm::Seal Security Databasevm23.9.11-sp999, 3.9.12-sp999, 3.9.13-sp999, 3.9.14-sp999

References

Vulnerability data compiled from the Trivy vulnerability database (trivy-db, Aqua Security, Apache License 2.0), which aggregates third-party advisories. CVE records are published by The MITRE Corporation under the CVE Terms of Use; CVE is a trademark of MITRE. This product uses data from the NVD API but is not endorsed or certified by the NVD. Severity, titles and advisory data from the GitHub Advisory Database (CC BY 4.0), Red Hat security data (CC BY 4.0) and the other sources linked on each entry. Entries may be summarised or re-formatted; the linked original is the authoritative record.