CVE-2026-44001
WysokieCVSS 8.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
Podatność w vm2 przed wersją 3.11.0 pozwala na ucieczkę z sandboksa poprzez konstruktor Promise, co powoduje nieobsłużone odrzucenie propagujące do hosta i crash procesu Node.js. Problem dotyczy wersji 3.10.5 i został załatany w 3.11.0.
Ocena ryzyka
Atakujący może zdalnie doprowadzić do awarii procesu Node.js, co skutkuje przerwaniem działania aplikacji i potencjalną utratą dostępności usługi.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę vm2 do wersji 3.11.0 lub nowszej.
Inne podatności w vm2
Zobacz wszystkie- CVE-2026-47698Krytyczne
vm2 to otwartoźródłowa piaskownica dla Node.js. Przed wersją 3.11.6, lib/bridge.js i lib/setup-sandbox.js nie blokują pośredniego wywołania przez Function.prototype.call wokół niebezpiecznych mutatorów prototypów hosta, co pozwala kodowi piaskownicy na zerwanie łańcucha prototypów i dotarcie do e.constructor.constructor w celu wykonania dowolnych poleceń na hoście. Problem naprawiono w wersji 3.11.6.
- CVE-2026-47686Krytyczne
vm2 to otwartoźródłowa piaskownica dla Node.js. Przed wersją 3.11.6, funkcja handleException() w lib/setup-sandbox.js oczyszcza SuppressedError.error, SuppressedError.suppressed i AggregateError.errors, ale nie oczyszcza Error.cause, co pozwala kodowi piaskownicy uzyskać potężny obiekt hosta, taki jak process, z funkcji hosta, która rzuca błąd z tym obiektem jako przyczyną, a następnie wykonać dowolne polecenia na hoście. Problem naprawiono w wersji 3.11.6.
- CVE-2026-47210Krytyczne
W vm2, przed wersją 3.11.4, występowała podatność na ucieczkę z piaskownicy, która umożliwiała wykonanie dowolnego kodu w procesie hosta podczas wykonywania nieufnego kodu z obsługą asynchroniczną. Problem ten został naprawiony w wersji 3.11.4.
- CVE-2026-47208Krytyczne
vm2 to otwarte źródło vm/sandbox dla Node.js. Przed wersją 3.11.4, vm2 ma podatność na wyjście z piaskownicy, co pozwala atakującym na wykonanie dowolnych poleceń na systemie gospodarza.
- CVE-2026-47140Krytyczne
vm2 to otwarte źródło vm/sandbox dla Node.js. W wersjach przed 3.11.4, NodeVM blokuje kilka niebezpiecznych wbudowanych funkcji Node.js, jednak lista zablokowanych elementów nie obejmowała process oraz inspector/promises, co pozwala na obejście tych ograniczeń.
- CVE-2026-47137Krytyczne
W wersjach przed 3.11.4 biblioteka vm2 zawierała lukę, która pozwalała na obejście zabezpieczeń związanych z opcjami 'nesting: true' i 'require: false'. Sprawdzenie równości ścisłej w kodzie nie działało poprawnie, co umożliwiało wykorzystanie nieautoryzowanych wymagań.
- CVE-2026-47131Krytyczne
vm2 to otwarte źródło vm/sandbox dla Node.js. Przed wersją 3.11.4, poprzez kombinację określonych wywołań, możliwe było uzyskanie konstruktora TypeError hosta, co pozwalało na ucieczkę z sandboxa i uruchamianie dowolnego kodu.
- CVE-2026-45411Krytyczne
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.
- CVE-2026-44009Krytyczne
Podatność w bibliotece vm2 dla Node.js umożliwia ominięcie sandboksa. Problem został naprawiony w wersji 3.11.2.
- CVE-2026-44008Krytyczne
Podatność w bibliotece vm2 dla Node.js przed wersją 3.11.2 pozwala na ucieczkę z piaskownicy poprzez metodę neutralizeArraySpeciesBatch, która może wywołać kod po stronie hosta za pomocą gettera na prototypie tablicy. Umożliwia to atakującym uzyskanie obiektów hosta i funkcji Function, co prowadzi do wykonania dowolnych poleceń na systemie.
Oryginalny opis (angielski, źródło NVD)
vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.0, a sandbox escape vulnerability in vm2 v3.10.5 allows any sandboxed code to crash the host Node.js process via a single Promise constructor that triggers an unhandled rejection propagating to the host. The fix for CVE-2026-22709 (v3.10.2) only sanitized the onRejected callback in .then() and .catch() overrides and did not address the executor-to-unhandledRejection path. This vulnerability is fixed in 3.11.0.

