Aller au contenu
8.4 Élevée

CVE-2026-92958 vm2 through 3.11.6 contains a builtin-module denylist bypass in NodeVM

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.

Produits et versions touchés

Produit Versions touchées Corrigé en
vm2 3.11 premières → < 3.11.7 3.11.7

Références

Chronologie

  1. Publiée
  2. Dernière modification
Les 77 CVE de vm2 →
Suivre cette CVE