Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. vm2
  4. ›
  5. CVE-2026-47686

CVE-2026-47686: VM2 has Missing Error.cause Sanitization that Enables Sandbox Escape to RCE

August 17, 2026

I found that handleException() in lib/setup-sandbox.js recursively sanitizes sub-errors for SuppressedError and AggregateError, but completely ignores the ES2022 Error.cause property. When sandbox code catches a host-thrown error carrying a .cause that references a host object like process, it can traverse that reference to achieve arbitrary command execution on the host.

The project’s own docs/ATTACKS.md (Defense Invariant #3, line 54) explicitly claims Error.cause is sanitized. The implementation does not match this claim.

References

  • github.com/advisories/GHSA-m283-3h24-438v
  • github.com/patriksimek/vm2/releases/tag/3.11.6
  • github.com/patriksimek/vm2/security/advisories/GHSA-m283-3h24-438v
  • nvd.nist.gov/vuln/detail/CVE-2026-47686

Code Behaviors & Features

Detect and mitigate CVE-2026-47686 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 3.11.6

Fixed versions

  • 3.11.6

Solution

Upgrade to version 3.11.6 or above.

Impact 9.9 CRITICAL

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-693: Protection Mechanism Failure

Source file

npm/vm2/CVE-2026-47686.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:27 +0000.