CVE-2026-93606 in vm2informação

Sumário

de VulDB • 18/09/2026

As versões do vm2 (npm) anteriores ou iguais à 3.12.0 contêm uma falha de escape da sandbox no `VM` e no `NodeVM`. Quando um embedder expõe uma API host que retorna uma Promise do realm host, o sanitizador de rejeição da ponte (hostPromiseSanitizeReject / makeSanitizedPromiseCallback / normalizeHostPromiseCallbacks em lib/bridge.js) envolve apenas os slots de rejeição `then`/`catch` que contêm uma função, e a neutralização do lado da sandbox de `Symbol.species`/.then é instalada apenas no intrínseco da sandbox `Promise.prototype`, portanto, nunca se aplica a uma Promise host. O código executado dentro da sandbox pode sobrescrever `p.constructor[Symbol.species]` na Promise host e então chamar `p.then()` sem um manipulador `onRejected`; o V8 substitui seu Thrower interno, que re-lança o valor de rejeição bruto do host em uma closure resolve/reject capturada pelo atacante. Isso fornece à código da sandbox um proxy de ponte não sanitizado e totalmente funcional do objeto host, contornando handleException e hostPromiseSanitizeReject. Se o valor de rejeição for pivotável para o host (por exemplo, um objeto `process` host), isso resulta em execução arbitrária de código no host. Corrigido na versão 3.12.1.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

VulnCheck

Reservar

18/09/2026

Divulgação

18/09/2026

Moderação

aceite

Entrada

VDB-407498

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you know our Splunk app?

Download it now for free!