
PoC-эксплойт для CVE-2026-11114, демонстрирующий побег из песочницы vm в Node.js через Proxy для удалённого выполнения кода на уязвимой конечной точке HTTP /eval.
vm в Node.js через Proxy// sandbox_server.js - Vulnerable VM sandbox
const vm = require('vm');
const express = require('express');
const app = express();
app.use(express.json());
app.post('/eval', (req, res) => {
const code = req.body.code;
const sandbox = { console: { log: () => {} } }; // limited sandbox
const script = new vm.Script(code);
const context = vm.createContext(sandbox);
try {
const result = script.runInContext(context);
res.send(String(result));
} catch(e) {
res.send(e.message);
}
});
app.listen(3000);
vmПриложение использует модуль vm платформы Node.js для выполнения пользовательского кода в песочнице, но не изолирует должным образом глобальный объект. Злоумышленник может обратиться к цепочке конструкторов (например, через this.constructor.constructor), чтобы выйти из песочницы и выполнить произвольные команды оболочки.
vm по-прежнему предоставляет доступ к встроенным конструкторам, которые открывают доступ к глобальной области видимости Node.js (process).npm install express
node sandbox_server.js
python exploit_vm_escape.py
Вывод показывает результат выполнения команды id, подтверждающий выполнение команд.