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. Learn more about Dependency Scanning →

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 Tue, 18 Aug 2026 00:16:54 +0000.