Description
vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, NodeVM supports excluding public network builtins from the wildcard builtin option. With this configuration direct access to http, https, http2, net, dgram, tls, dns, and dns/promises is blocked. However, Node.js also exposes underscored internal HTTP builtins such as _http_client and _http_server. These are not blocked when the public modules are excluded. Sandboxed code can use these internal builtins to make outbound HTTP requests and open listening HTTP sockets even though the public network modules are denied. This issue has been patched in version 3.11.4.
Published: 2026-06-12
Score: 8.6 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

vm2 is a Node.js sandbox that blocks public network APIs when the builtin option is set to a wildcard. However, underscored internal modules _http_client and _http_server are not included in that restriction, allowing sandboxed code to make outbound HTTP requests or listen for incoming connections. This bypass removes isolation intended by the sandbox and grants the untrusted code network access. The weakness is classified as CWE‑693, improper restriction of execution privileges.

Affected Systems

patriksimek's vm2 library versions prior to 3.11.4. All releases before 3.11.4 permit sandboxed scripts to load internal HTTP modules, making them vulnerable.

Risk and Exploitability

The CVSS score is 8.6, EPSS less than 1 %, and the vulnerability is not listed in CISA’s KEV catalog. Exploitation requires the attacker to be able to execute code inside a NodeVM instance; once inside, the attacker can use the internal modules to send outbound traffic or accept inbound connections. The attack vector is therefore an application that employs vm2 to sandbox untrusted code while granting execution privileges to that code.

Generated by OpenCVE AI on June 12, 2026 at 16:29 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade vm2 to version 3.11.4 or later, where internal HTTP modules are restricted by the builtin exclusion configuration.
  • Ensure that the NodeVM builtin option uses a wildcard exclusion pattern so that both public and underscored network modules are blocked when the library is upgraded.
  • If an upgrade is not immediately possible, implement runtime checks or code reviews that prevent sandboxed scripts from requiring the _http_client or _http_server modules, and monitor NodeVM processes for outbound network activity.

Generated by OpenCVE AI on June 12, 2026 at 16:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-r9pm-gxmw-wv6p NodeVM network builtin exclusions bypass via internal _http_client and _http_server
History

Fri, 12 Jun 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 12 Jun 2026 15:45:00 +0000

Type Values Removed Values Added
First Time appeared Patriksimek
Patriksimek vm2
Vendors & Products Patriksimek
Patriksimek vm2

Fri, 12 Jun 2026 14:30:00 +0000

Type Values Removed Values Added
Description vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, NodeVM supports excluding public network builtins from the wildcard builtin option. With this configuration direct access to http, https, http2, net, dgram, tls, dns, and dns/promises is blocked. However, Node.js also exposes underscored internal HTTP builtins such as _http_client and _http_server. These are not blocked when the public modules are excluded. Sandboxed code can use these internal builtins to make outbound HTTP requests and open listening HTTP sockets even though the public network modules are denied. This issue has been patched in version 3.11.4.
Title vm2: NodeVM network builtin exclusions bypass via internal _http_client and _http_server
Weaknesses CWE-693
References
Metrics cvssV3_1

{'score': 8.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-06-12T16:07:53.050Z

Reserved: 2026-05-18T19:50:18.696Z

Link: CVE-2026-47139

cve-icon Vulnrichment

Updated: 2026-06-12T16:07:48.678Z

cve-icon NVD

Status : Deferred

Published: 2026-06-12T15:16:28.273

Modified: 2026-06-12T17:16:23.737

Link: CVE-2026-47139

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-12T16:30:14Z

Weaknesses
  • CWE-693

    Protection Mechanism Failure