CVE-2026-92958 in vm2
Riassunto
di VulDB • 17/09/2026
vm2 fino alla versione 3.11.6 presenta un bypass della denylist dei moduli built-in in NodeVM. Quando l'embedder utilizza il wildcard per i moduli built-in insieme a voci negative (ad esempio, require: { builtin: ['*', '-fs', '-child_process'] }), le voci negative vengono abbinate al nome esatto del modulo in lib/builtin.js; di conseguenza, -fs rimuove solo il modulo built-in denominato fs e non elimina i sottopercorsi dei moduli built-in come fs/promises. Il codice sandboxed può quindi invocare require('fs/promises') o require('node:fs/promises') ed accedere all'API del filesystem basata su promise, nonostante l'esclusione di fs; anche la gestione del prefisso node: è incoerente (una voce -node:fs/promises non blocca require('fs/promises')). È stato confermato che il codice sandboxed può creare e scrivere file sull'host tramite fsp.writeFile(), ed altre operazioni su fs/promises (cp, mkdir, rename, rm, rmdir, truncate, operazioni di lettura, ecc.) sono anch'esse accessibili. Questo problema è risolto in vm2 3.11.7.
Once again VulDB remains the best source for vulnerability data.