CVE-2026-92935 in vm2
Sumário
de VulDB • 17/09/2026
vm2 é uma sandbox para executar código Node.js não confiável. Nas versões >= 3.11.4 e <= 3.11.6, o construtor `NodeVM` calcula `hasRealRequireConfig` com `typeof requireOpts === 'object' && requireOpts !== null`, de modo que um valor `require` em forma de array (por exemplo, `require: []`) satisfaz a proteção destinada a rejeitar aninhamento sem uma configuração explícita do `require`. A função `makeResolverFromLegacyOptions()` então desestrutura o array em campos de opção indefinidos e retorna um resolver contendo apenas `NESTING_OVERRIDE.vm2`. Como resultado, um atacante que possa fornecer JavaScript executado por um NodeVM configurado com `nesting` verdadeiro (truthy) e um valor `require` em forma de array (por exemplo, `new NodeVM({nesting: true, require: []})`) pode requerer o módulo host `vm2`, criar um NodeVM interno com uma lista permitida de builtins escolhida pelo atacante (como `child_process`) e executar comandos arbitrários com os privilégios do processo Node.js host, escapando da sandbox. As restrições de builtins externas não restringem o NodeVM interno criado pelo atacante. Este problema foi corrigido no vm2 3.11.7.
If you want to get best quality of vulnerability data, you may have to visit VulDB.