Biblioteka vm2 (sandbox dla Node.js) w wersjach przed 3.11.4 zawiera krytyczną podatność umożliwiającą ucieczkę z izolowanego środowiska wykonawczego. Atakujący może wykonać dowolne polecenia bezpośrednio na systemie hosta, co czyni tę lukę ekstremalnie niebezpieczną w środowiskach uruchamiających niezaufany kod.
▸ Pokaż oryginał (EN)
vm2 is an open source vm/sandbox for Node.js. Prior to version 3.11.4, VM2 suffers from a sandbox breakout vulnerability. This allows attackers to write code which can escape from the VM2 sandbox and execute arbitrary commands on the host system. This issue has been patched in version 3.11.4.
Podatność wynika z nieprawidłowej kontroli zasobów dynamicznie zarządzanych (CWE-913) w mechanizmie izolacji vm2. Atakujący może spreparować kod JavaScript, który omija mechanizmy sandbox'owania biblioteki vm2 i ucieka poza kontrolowane środowisko wirtualnej maszyny. Po ucieczce z sandbox'u kod uzyskuje pełny dostęp do środowiska Node.js hosta i może wykonywać dowolne polecenia systemowe.
Atakujący uzyskuje możliwość wykonania dowolnego kodu na systemie hosta (RCE), co może prowadzić do pełnego przejęcia kontroli nad serwerem, wycieku danych, modyfikacji plików oraz dalszego lateral movement w infrastrukturze.
Należy zaktualizować bibliotekę vm2 do wersji 3.11.4 lub nowszej, w której podatność została załatana. Szczegóły patcha dostępne są w repozytorium GitHub projektu vm2 (commit a462655009669c3124ee39498121651597529ea8).
Biblioteka vm2 dla Node.js w wersjach przed 3.11.4
Podatność zgłoszona przez autorów projektu vm2 w ramach GitHub Security Advisory GHSA-76w7-j9cq-rx2j. Wynik CVSS 10.0 (maksymalny) wskazuje na możliwość zdalnego, nieuwierzytelnionego exploitation bez interakcji użytkownika, z pełnym wpływem na poufność, integralność i dostępność. Administratorzy korzystający z vm2 do wykonywania niezaufanego kodu powinni traktować aktualizację priorytetowo.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H