vm2: Missing Error.cause Sanitization Enables VM2 Sandbox Escape to RCE (patriksimek vm2)

CVE-2026-47686
CRITICAL 9.9

At a glance

Source
NVD
EPSS
EPSS 0.58 % Β· percentile 48 ()
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Deferred

Description

vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.6, handleException() in lib/setup-sandbox.js sanitizes SuppressedError.error, SuppressedError.suppressed, and AggregateError.errors but does not sanitize Error.cause, allowing sandbox code to obtain a powerful host object such as process from an embedder-exposed host function that throws an error with that object as its cause and then execute arbitrary host commands. This issue is fixed in version 3.11.6.

Weaknesses (CWE)

  • CWE-693 β€” Protection Mechanism Failure

References

Scores

VersionScoreVectorScored by
CVSS 3.1CRITICAL 9.9CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HGitHub_M
CVSS 3.1CRITICAL 9.9CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HNVD Β· security-advisories@github.com (Secondary)

Advisories

European references

Affected products

ProductVersions
patriksimek Β· vm2affected < 3.11.6

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST β€” attribution requested
ENISA EUVDENISA β€” reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain β€” this product uses data from the NVD API but is not endorsed or certified by the NVD