CVE-2026-45411
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 44 - wyżej niż 44% wszystkich znanych CVE
Streszczenie
W bibliotece vm2 dla Node.js przed wersją 3.11.3 wykryto podatność umożliwiającą przechwycenie wyjątku hosta za pomocą wyrażenia yield* w asynchronicznym generatorze. Zamknięcie generatora funkcją return powoduje oczekiwanie na wartość, a wyjątki w then mogą być przechwycone i przekazane jako następna wartość do iteratora yield*, co pozwala na ucieczkę z sandboksa i wykonanie dowolnych poleceń na systemie.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do całkowitego ominięcia izolacji sandboksa VM2 i wykonania dowolnego kodu na serwerze, co prowadzi do przejęcia kontroli nad aplikacją i potencjalnie całym systemem.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę vm2 do wersji 3.11.3 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy rozważyć tymczasowe wyłączenie funkcjonalności korzystających z async generatorów w środowisku VM2.
Oryginalny opis (angielski, źródło NVD)
vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.3, it is possible to catch a host exception using the yield* expression inside an async generator. When the generator is closed using the return function, the value is awaited on and exceptions thrown in the then call will be caught by the runtime and passed to the yield* iterator as the next value. This allows attackers to write code which can escape from the VM2 sandbox and execute arbitrary commands on the host system. This vulnerability is fixed in 3.11.3.

