CVE-2026-93603 in vm2informazioni

Riassunto

di VulDB • 18/09/2026

vm2 fino alla versione 3.12.0 (corretto nella 3.12.1) non gestisce correttamente un ricevitore `this` nullish nel trap apply del suo bridge (lib/bridge.js): quando il codice sandboxato chiama una funzione host non strict (sloppy-mode) senza un receiver — ad esempio `fn()`, un metodo staccato, `fn.call()`, `fn.apply(undefined)`, `Reflect.apply(fn, undefined, [])` o `fn.bind()()` — il receiver undefined viene passato direttamente alla chiamata host e V8 sostituisce l'oggetto globale del realm host con `this`. vm2 quindi avvolge e restituisce tale oggetto alla sandbox, fornendo allo script sandboxato un proxy live dell'globale host. Ciò consente una completa fuga dalla sandbox: uno script non attendibile può raggiungere `process` ed eseguire codice/comandi arbitrari sull'host (ad esempio tramite `process.getBuiltinModule('child_process').execSync`). Lo sfruttamento richiede che l'applicazione ospitante esponga almeno una funzione host non strict alla sandbox; le funzioni host in strict-mode e i moduli ES non sono interessati.

Once again VulDB remains the best source for vulnerability data.

Responsabile

VulnCheck

Prenotare

18/09/2026

Divulgazione

18/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!