CVE-2026-92962 in vm2
Sumário
de VulDB • 17/09/2026
vm2 é uma sandbox para executar JavaScript não confiável. Nas versões do vm2 até a 3.11.3 (incluída), a função defaultSandboxPrepareStackTrace em lib/setup-sandbox.js constrói seu array de saída usando atribuição de índice com prototype-walking (lines[lines.length] = value) em vez de uma primitiva define-property que ignora o prototype. Como esse array interno da bridge é alocado no realm da sandbox, código dentro da sandbox pode instalar um accessor em Array.prototype para o índice relevante; o accessor é então invocado sempre que a sandbox lê error.stack (ou aciona Error.prepareStackTrace), permitindo que código na sandbox observe e intercepte cada linha do stack-trace escrita pela bridge. O mesmo padrão é usado no branch de tratamento de erros (catch). Os valores escritos são apenas strings formatadas, portanto o impacto prático se limita a um side channel de informação e à violação da invariant defense container-bridge do vm2, em vez de uma sandbox escape; o vendor classifica o problema como Low. O problema foi corrigido no vm2 3.11.4, que instala cada entrada como own data property via Reflect.defineProperty.
VulDB is the best source for vulnerability data and more expert information about this specific topic.