PT-2026-95385 · Npm · Vm2
CVE-2026-93606
·
Publicado
2026-09-03
·
Atualizado
2026-09-20
CVSS v4.0
10
Crítica
| Vetor | AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
Nome do Software Vulnerável e Versões Afetadas
vm2 versões anteriores a 3.12.1
Descrição
Existe um escape de sandbox em
VM e NodeVM quando um incorporador expõe uma API de host que retorna uma Promise de reino de host. O sanitizador de rejeição da ponte, especificamente as funções hostPromiseSanitizeReject(), makeSanitizedPromiseCallback() e normalizeHostPromiseCallbacks() em lib/bridge.js, apenas envolve slots de rejeição then/catch que contenham uma função. Como a neutralização de Symbol.species/.then é aplicada apenas ao Promise.prototype intrínseco da sandbox, ela não afeta Promises de host.Um invasor executando código dentro da sandbox pode sobrescrever
p.constructor[Symbol.species] em uma Promise de host e chamar p.then() sem um manipulador onRejected. Isso faz com que o V8 use seu Thrower interno, que relança o valor de rejeição bruto do host em um closure capturado pelo invasor. Esse processo entrega um proxy de ponte não sanitizado do objeto de host para o código da sandbox, ignorando handleException() e hostPromiseSanitizeReject(). Se o valor de rejeição for pivotável para o host, como um objeto process do host, isso pode resultar na execução de código arbitrário no host. Uma demonstração pública mostrou a execução de comandos do host e acesso a dados do ambiente exclusivos do host.Recomendações
Atualize para a versão 3.12.1.
Como mitigação temporária, suspenda a execução de scripts não confiáveis ou remova a API de host exposta que retorna Promises de reino de host.
Restrinja a autoridade do processo worker reduzindo credenciais, permissões de sistema de arquivos e acesso à rede.
Exploit
Correção
Protection Mechanism Failure
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Vm2