vm2: NodeVM builtin allowlist bypass via `module` builtin's `Module._load` allows sandbox escape (patriksimek vm2)

CVE-2026-43999
CRITICAL 9.9

At a glance

Source
NVD
EPSS
EPSS 0.97 % Β· percentile 62 ()
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Modified

Description

vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, NodeVM's builtin allowlist can be bypassed when the module builtin is allowed (including via the '*' wildcard). The module builtin exposes Node's Module._load(), which loads any module by name directly in the host context, completely bypassing vm2's builtin restriction. This allows sandboxed code to load excluded builtins like child_process and achieve remote code execution. This vulnerability is fixed in 3.11.0.

Weaknesses (CWE)

  • CWE-863 β€” Incorrect Authorization
  • CWE-829 β€” Inclusion of Functionality from Untrusted Control Sphere

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:Hredhat-SADP
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)
CVSS 3.1CRITICAL 9.9CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HNVD Β· 0b0ca135-0b70-47e7-9f44-1890c2a1c46c (Secondary)

Advisories

European references

Affected configurations (NVD CPE)

Affected products

ProductVersions
patriksimek Β· vm2affected < 3.11.0

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