La libreria vm2 JavaScript ha appena rilasciato due nuove patch per mitigare due vulnerabilità critiche, CVE-2023-29199 e CVE-2023-30547, entrambi valutati 9.8 sul sistema di punteggio CVSS. versioni 3.9.16 e 3.9.17, rispettivamente, contengono le correzioni per i bug che consentono a un intruso di sfuggire alla sandbox ed eseguire codice nel contesto host.
SeungHyun Lee, il ricercatore di sicurezza responsabile della scoperta e della segnalazione dei difetti, ha anche pubblicato exploit PoC. Questo arriva non molto tempo dopo un altro difetto di fuga della sandbox (CVE-2023-29017, CVSS 9.8) è stato affrontato. I ricercatori di Oxeye hanno identificato una vulnerabilità di esecuzione di codice remoto particolarmente grave (CVE-2022-36067, Punteggio CVSS: 9.8) in vm2 lo scorso dicembre, nome in codice Sandbreak.
CVE-2023-29199
versioni vm2 fino a 3.9.15 sono vulnerabili a un exploit che consente agli attori delle minacce di aggirare `handleException()` logica di sanitizzazione delle eccezioni. Questo bypass consente la fuoriuscita di eccezioni host non sanificate che forniscono quindi i mezzi per sfuggire alla sandbox e eseguire codice nel contesto ospitante. Il problema è stato risolto nella versione 3.9.16.
CVE-2023-30547
La versione `3.9.17` di `vm2` include una patch per una vulnerabilità nella sanificazione delle eccezioni che era presente in tutte le versioni precedenti fino a `3.9.16`. Questa vulnerabilità ha consentito agli aggressori di utilizzare un'eccezione host non disinfettata all'interno di `handleException()` per sfuggire alla sandbox ed eseguire codice arbitrario nel contesto host. Al momento, non esistono soluzioni alternative, pertanto gli utenti sono fortemente invitati a eseguire l'aggiornamento alla versione più recente.
Cos'è la libreria JavaScript vm2?
vm2 è una popolare libreria sandbox JavaScript utilizzata da diversi programmi, come gli IDE, editor di codice, e strumenti di sicurezza, che consente l'esecuzione parziale del codice su server Node.js isolati proteggendo le risorse di sistema e i dati esterni da accessi non autorizzati.