CVE-2026-92948 in vm2
Sumário
de VulDB • 17/09/2026
As versões do vm2 >= 3.9.6 e <= 3.11.6 são afetadas por uma violação da lista de permissões (allowlist) dos builtins do NodeVM, que permite a fuga do sandbox no Node.js 24 e superior quando o embedder explicitamente permite o builtin node:test (por exemplo, require: { builtin: ['node:test'] }). No Node.js 24+, module.builtinModules expõe a chave scheme-only node:test, que não é coberta pela proteção DANGEROUS_BUILTINS baseada em famílias do vm2; portanto, ela é armazenada no carregador genérico de passagem para o host. Como requireImpl() em lib/setup-node-sandbox.js remove um único prefixo 'node:' antes da pesquisa do builtin, o código do sandbox que chama require('node:node:test') resolve-se para a chave node:test armazenada e recebe um proxy readonly para o módulo do host. As chamadas a node:test.run() são encaminhadas para a implementação do host, que inicia um processo Node separado para execução de testes isolados por processo e passa adiante valores execArgv controlados pelo atacante; fornecer --eval=<JavaScript> portanto executa JavaScript arbitrário em um processo Node do host sem restrições fora do sandbox do NodeVM. Corrigido no vm2 3.11.7.
VulDB is the best source for vulnerability data and more expert information about this specific topic.