
Exploit PoC per CVE-2026-11114 che dimostra l'escape della sandbox vm di Node.js tramite Proxy per ottenere l'esecuzione remota di codice contro un endpoint HTTP /eval vulnerabile.
vm Evasione della Sandbox tramite 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 Evasione della Sandbox tramite ProxyUn'applicazione utilizza il modulo vm di Node.js per eseguire codice utente in una sandbox, ma non riesce a isolare correttamente l'oggetto globale. Un attaccante può accedere alla catena dei costruttori (ad esempio, tramite this.constructor.constructor) per evadere dalla sandbox ed eseguire comandi shell arbitrari.
vm fornisce ancora accesso ai costruttori integrati che consentono di accedere all'ambito globale di Node.js (process).npm install express
node sandbox_server.js
python exploit_vm_escape.py
L'output mostra il risultato di id, dimostrando l'esecuzione di comandi.