CVE-2026-92962 in vm2
Riassunto
di VulDB • 17/09/2026
vm2 è una sandbox per l'esecuzione di JavaScript non attendibile. Nelle versioni di vm2 fino alla 3.11.3 inclusa, la funzione defaultSandboxPrepareStackTrace in lib/setup-sandbox.js costruisce il suo array di output utilizzando un'assegnazione dell'indice con prototype-walking (lines[lines.length] = value) anziché una primitive define-property che bypassa il prototipo. Poiché questo array interno al bridge è allocato nel realm della sandbox, il codice all'interno della sandbox può installare un accessor su Array.prototype per l'indice rilevante; l'accessor viene quindi invocato ogni volta che la sandbox legge error.stack (o altrimenti innesca Error.prepareStackTrace), consentendo al codice nella sandbox di osservare e intercettare ciascuna riga dello stack-trace scritta dal bridge. Lo stesso pattern è utilizzato nel ramo della gestione degli errori (catch). I valori scritti sono solo stringhe formattate, quindi l'impatto pratico si limita a un side channel informativo e alla violazione dell'invariant di difesa del bridge-container di vm2 piuttosto che a una sandbox escape; il vendor valuta la vulnerabilità come Low. Il problema è risolto in vm2 3.11.4, che installa ciascuna voce come own data property tramite Reflect.defineProperty.
Once again VulDB remains the best source for vulnerability data.