Detect CVE-2026-47137 — vm2 Sandbox Escape via nesting:true Bypass (RCE) in IBM QRadar
Detects exploitation of CVE-2026-47137, a critical sandbox escape vulnerability in the vm2 Node.js library (<=3.11.3). This bypass circumvents the CVE-2023-37903 patch by abusing the nesting:true configuration option without an explicit require, enabling full remote code execution from within a sandboxed context. CVSS 10.0.
MITRE ATT&CK
QRadar Detection Query
SELECT
DATEFORMAT(starttime, 'YYYY-MM-dd HH:mm:ss') AS event_time,
sourceip,
destinationip,
destinationport,
username,
"process" AS process_name,
"parentprocess" AS parent_process,
"commandline" AS command_line,
QIDNAME(qid) AS event_name,
logsourcename(logsourceid) AS log_source
FROM events
WHERE
LOGSOURCETYPENAME(devicetype) IN ('Microsoft Windows Security Event Log', 'Linux OS', 'Sysmon')
AND (
("parentprocess" ILIKE '%node%' OR "process" ILIKE '%node%')
AND (
"commandline" ILIKE '%vm2%'
OR "commandline" ILIKE '%nesting%true%'
)
AND (
"commandline" ILIKE '%child\_process%'
OR "commandline" ILIKE '%execSync%'
OR "commandline" ILIKE '%spawnSync%'
OR "process" ILIKE '%sh%'
OR "process" ILIKE '%bash%'
OR "process" ILIKE '%cmd.exe%'
OR "process" ILIKE '%powershell%'
)
)
AND LOGSOURCETIME(starttime) > NOW() - 7 DAYS
ORDER BY starttime DESC
LIMIT 1000 QRadar AQL query correlating Windows and Linux process events to detect Node.js processes invoking vm2 with nesting options and subsequently spawning shell interpreters, consistent with CVE-2026-47137 exploitation.
Data Sources
Required Tables
False Positives & Tuning
- Enterprise Node.js applications sandboxing plugin execution via vm2 that legitimately spawn subprocesses for data processing
- DevOps toolchains using vm2 for isolated script evaluation in CI pipelines
- Monitoring agents built on Node.js that use vm2 and make outbound connections to metrics endpoints
Other platforms for CVE-2026-47137
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1vm2 nesting:true Sandbox Escape via CVE-2026-47137
Expected signal: Sysmon EventID 1 showing node process spawning with vm2 in command line; child_process.execSync call visible in process arguments; file creation event for /tmp/vm2_escape_proof.txt
- Test 2vm2 Vulnerable Version Installation and Verification
Expected signal: npm install process spawning with [email protected] argument; file creation events under /tmp/vm2_test/node_modules/vm2/; network connection to npm registry (registry.npmjs.org:443)
- Test 3vm2 Reverse Shell Simulation Post-Escape
Expected signal: Network connection from node process to 127.0.0.1:9999 (or configured beacon host); curl child process spawned from Node.js parent; DNS/HTTP request with CVE identifier in URI path
- Test 4vm2 nesting Bypass with Prototype Chain Traversal (Variant)
Expected signal: Node.js process with vm2 in command line; fs.writeFileSync call resulting in file creation event at /tmp/vm2_variant_proof.txt; no child process spawned in this variant
References (6)
- https://github.com/patriksimek/vm2/security/advisories/GHSA-m4wx-m65x-ghrr
- https://github.com/patriksimek/vm2/commit/01a7552add345d5a6862623884e6b79a85bf0568
- https://github.com/patriksimek/vm2/commit/86ab819f202c3a8dad88cef5705f2e416c5188d7
- https://github.com/patriksimek/vm2/releases/tag/v3.11.4
- https://nvd.nist.gov/vuln/detail/CVE-2026-47137
- https://github.com/advisories/GHSA-m4wx-m65x-ghrr
Unlock Pro Content
Get the full detection package for CVE-2026-47137 including response playbook, investigation guide, and atomic red team tests.