CVE-2026-93606 in vm2Информация

Сводка

по VulDB • 18.09.2026

В версиях vm2 (npm) до 3.12.0 включительно обнаружено обход песочницы в классах VM и NodeVM. Когда внедренное приложение предоставляет API хоста, возвращающий Promise из области видимости хоста, санитайзер отклонений моста (hostPromiseSanitizeReject / makeSanitizedPromiseCallback / normalizeHostPromiseCallbacks в lib/bridge.js) оборачивает только слоты отклонения `then`/`catch`, содержащие функцию. При этом нейтрализация `Symbol.species`/`.then` на стороне песочницы устанавливается исключительно для встроенного объекта `Promise.prototype` песочницы, поэтому она не применяется к Promise хоста. Код, выполняющийся внутри песочницы, может перезаписать свойство `p.constructor[Symbol.species]` у Promise хоста и затем вызвать `p.then()` без обработчика `onRejected`; V8 подставляет свой внутренний Thrower, который повторно выбрасывает необработанное значение отклонения хоста в замыкание resolve/reject, захваченное атакующим. Это предоставляет несанитизированный полнофункциональный прокси-объект моста для объекта хоста коду песочницы, обходя механизмы handleException и hostPromiseSanitizeReject. Если значение отклонения является pivotable для хоста (например, объект `process` хоста), это приводит к произвольному выполнению кода на уровне хоста. Исправлено в версии 3.12.1.

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

VulnCheck

Резервировать

18.09.2026

Раскрытие

18.09.2026

Модерация

принято

Вход

VDB-407498

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!