Impact
The vulnerability originates when the NodeVM sandbox exposes process-wide observability modules such as diagnostics_channel, async_hooks, and perf_hooks through require.builtin. These builtins are not protected by the builtin denylist, allowing sandboxed code to access host references. An attacker controlling or inserting malicious code into the sandbox could use these modules to observe or extract information from the host Node.js process, potentially compromising application secrets, configuration, or runtime diagnostics. The weakness is classified as CWE-668, reflecting information leakage across a sandbox boundary.
Affected Systems
The affected product is vm2, an open source VM/sandbox for Node.js, maintained by patriksimek. Versions before 3.11.4 are impacted. Version 3.11.4 and later include the necessary fix.
Risk and Exploitability
The CVSS score of 6.9 indicates a moderate severity, and the EPSS score of less than 1% suggests a low but non‑zero likelihood of exploitation. The vulnerability is not listed in CISA KEV, so no known large‑scale exploitation has been documented. The attack vector is inferred to be a sandboxed code injection or a supply‑chain scenario where malicious code is executed within a NodeVM instance. Exploiting it requires that the sandbox allows the disallowed builtins, meaning a configuration that trusts the sandboxed code grants an attacker the ability to observe host application data across the boundary.
OpenCVE Enrichment
Github GHSA