Katalog CVE

CVE-2026-100722

ŚrednieCVSS 6.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.26%

Percentyl 16 - wyżej niż 16% wszystkich znanych CVE

Streszczenie

vm2 przed wersją 3.12.2 nie stosuje obsługi odrzuceń Promise po stronie hosta w pułapce konstrukcji sandbox-host. W BaseHandler, pułapka apply wywołuje markHostPromiseHandled() na zwróconej wartości, ale sąsiednia ścieżka construct zwraca wynik Reflect.construct bez tej samej sanityzacji. Jeśli embedder udostępnia konstruowalną funkcję hosta, której konstruktor zwraca natywnie odrzuconą Promise, niezaufany skrypt uruchomiony przez VM.run może ją wywołać z `new` i zignorować wynik; odrzucona Promise hosta przechodzi przez most nieobsłużona i, zgodnie z rygorystyczną polityką nieobsłużonych odrzuceń Node, jest promowana do nieprzechwyconego wyjątku, który kończy proces hosta.

Ocena ryzyka

Ryzyko przerwania działania procesu hosta (DoS) w wyniku nieobsłużonego odrzucenia Promise, co może prowadzić do niedostępności aplikacji.

Rekomendacja

Zaktualizuj vm2 do wersji 3.12.2 lub nowszej. Jeśli używasz vm2 do wykonywania niezaufanego kodu, rozważ migrację do alternatywnych rozwiązań, takich jak isolated-vm, które są aktywnie utrzymywane.

Inne podatności w vm2

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

vm2 before 3.12.2 does not apply host-side Promise rejection handling in the sandbox-to-host construct trap. In BaseHandler, the apply trap calls markHostPromiseHandled() on the returned value, but the adjacent construct path returns the result of Reflect.construct without the same sanitization. If an embedder exposes a constructable host function whose constructor returns a native rejected Promise, an untrusted script executed via VM.run can invoke it with `new` and ignore the result; the rejected host Promise crosses the bridge unhandled and, under Node's strict unhandled-rejection policy, is promoted to an uncaught exception that terminates the host process.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS