Biblioteka vm2 w wersji 3.10.4 zawiera krytyczną podatność umożliwiającą pełną ucieczkę z środowiska sandbox i wykonanie dowolnego kodu na hoście. Atakujący może przejąć kontrolę nad procesem hosta bez jakiejkolwiek współpracy po stronie systemu docelowego.
▸ Pokaż oryginał (EN)
vm2 is an open source vm/sandbox for Node.js. In version 3.10.4, vm2 is vulnerable to full sandbox escape with arbitrary code execution. Attacker code inside VM.run() obtains host process object and runs host commands with zero host cooperation. This issue has been patched in version 3.10.5.
Kod uruchamiany wewnątrz izolowanego środowiska vm2 poprzez funkcję VM.run() jest w stanie uzyskać dostęp do obiektu procesu hosta (host process object). Dzięki temu możliwe jest wykonanie dowolnych poleceń systemowych bezpośrednio na maszynie hosta, całkowicie omijając mechanizmy izolacji sandbox. Podatność nie wymaga żadnych uprawnień ani interakcji po stronie użytkownika, a wektor ataku jest sieciowy.
Atakujący uzyskuje pełną kontrolę nad procesem hosta, co umożliwia wykonanie dowolnego kodu (RCE), kradzież danych, modyfikację systemu lub dalszy lateral movement w sieci.
Należy zaktualizować bibliotekę vm2 do wersji 3.10.5, w której podatność została załatana. Szczegóły dostępne w referencjach producenta: https://github.com/patriksimek/vm2/releases/tag/v3.10.5
vm2 w wersji 3.10.4 (projekt Vm2 Project Vm2)
Podatność została zgłoszona i załatana przez autorów projektu vm2 (patriksimek). Szczegółowe informacje opublikowano w security advisory GHSA-ffh4-j6h5-pg66 na GitHub.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HVm2 Project Vm2
APPVm2 Project< 3.10.5
Powiązane podatności
vm2: mutacja prototypów hosta z poziomu sandbox (prototype pollution)
vm2 (Node.js): ucieczka z sandbox przez BaseHandler.getPrototypeOf (RCE)
Ucieczka z sandboxa w bibliotece vm2 dla Node.js (RCE)
vm2: ominięcie listy dozwolonych modułów i RCE przez builtin 'module'
vm2 (Node.js): ucieczka z sandbox przez zagnieżdżony NodeVM (RCE)