Il confine dell’isolamento cede nel marshalling di isolated-vm
Endor Labs ha trovato in isolated-vm un difetto critico che rompe l’idea stessa di confine tra sandbox e host. La falla riguarda tutte le versioni fino alla 7.0.0 e può trasformare codice JavaScript confinato in un accesso alla memoria del processo Node.js che lo ospita; le correzioni sono già arrivate con la 6.2.0 e la 7.0.1.
Il problema sta in ExternalCopy, il percorso che serializza e deserializza gli oggetti tra V8 isolate. Un type confusion nella gestione di transferList fa sì che l’host interpreti dati nel modo sbagliato, aprendo la strada a corruzione di memoria, crash e, nei casi dimostrati, controllo del flusso del processo host.
Per chi usa isolated-vm per separare tenant o plugin, il messaggio è chiaro: il marshalling nativo è parte della superficie d’attacco, non un semplice dettaglio di implementazione. Quando la fiducia passa attraverso questo strato, la sola idea di “restare dentro la VM” non basta più.