CVE-2026-47139 vm2: NodeVM network builtin exclusions bypass via internal _http_client and _http_server

High 8.6 Published Updated

Attackers can bypass network restrictions in vm2 NodeVM by accessing internal HTTP builtins, allowing unauthorized outbound requests and socket listening.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-47139?

CVE-2026-47139 is a high-severity vulnerability in patriksimek vm2, published on 12 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-693

Which versions are affected by CVE-2026-47139?

2 open source packages ship an affected version, including vm2.

PackageAffectedFixed in
vm2 npmAll versions3.11.4
vm2 npmAll versions3.11.4

How do I fix CVE-2026-47139?

Upgrade vm2 to 3.11.4 or later.

Is CVE-2026-47139 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-47139 exists.

Sources

Also known as ECHO-639f-b736-8c56, GHSA-r9pm-gxmw-wv6p, MINI-mmhw-7vqp-f7v9, ROOT-APP-NPM-CVE-2026-47139.

Is CVE-2026-47139 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free