OCTOBER 13, 2026
Live Feed
Back to database
Case File

CVE-2026-92958

HIGH · CVSS 8.5 EPSS 0.38% Public Exploit

Source: NVD + CISA KEV + EPSS · Published 2026-09-17 · Last synced 2026-10-13

CyberRota Analysis

AI-Generated

The vm2 library versions up to 3.11.6 are vulnerable due to a bypass in the builtin-module denylist, allowing sandboxed code to access restricted filesystem APIs, such as fs/promises, despite explicit denials. This vulnerability can lead to unauthorized file creation and manipulation, posing significant risks to applications relying on vm2 for secure execution of untrusted code. Developers and organizations using vm2 in their Node.js applications should prioritize upgrading to version 3.11.7 to mitigate this high-severity risk.

Public Exploit Signal

A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.

GitHub PoC Links

Note: these links are listed for security research and verification purposes only.

CVE
CVE-2026-92958
Severity
HIGH
CVSS
8.5
EPSS
0.38%

Original NVD Description

vm2 through 3.11.6 contains a builtin-module denylist bypass in NodeVM. When the embedder uses the builtin wildcard together with negative entries (e.g. require: { builtin: ['*', '-fs', '-child_process'] }), negative entries are matched by exact module name in lib/builtin.js, so -fs removes only the builtin named fs and does not remove builtin subpaths such as fs/promises. Sandboxed code can therefore call require('fs/promises') or require('node:fs/promises') and reach the promise-based filesystem API despite fs being denied; node: prefix handling is likewise inconsistent (a -node:fs/promises entry does not block require('fs/promises')). Host file creation and writing were confirmed via fsp.writeFile(), and other fs/promises operations (cp, mkdir, rename, rm, rmdir, truncate, read operations, etc.) are also reachable. This issue is fixed in vm2 3.11.7.