CRITICAL🇬🇧 English

CVE-2026-44007

vm2 (Node.js): ucieczka z sandbox przez zagnieżdżony NodeVM (RCE)

CVSS 9.1v3.1pub. 2026-05-13upd. 2026-06-30

Podatność w bibliotece vm2 (wersje przed 3.11.1) pozwala kodowi uruchamianemu w izolowanym środowisku (sandbox) na całkowite ominięcie ograniczeń i wykonanie dowolnych poleceń systemu operacyjnego na hoście. Dotyczy każdej aplikacji, która uruchamia niezaufany kod wewnątrz NodeVM z opcją nesting: true.

Pokaż oryginał (EN)

vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.1, when a NodeVM is created with nesting: true, sandbox code can unconditionally require('vm2') regardless of the outer VM's require configuration — including require: false. With access to vm2, the sandbox constructs a new inner NodeVM with its own unrestricted require settings and executes arbitrary OS commands on the host. Any application that runs untrusted code inside a NodeVM with nesting: true is fully compromised. This vulnerability is fixed in 3.11.1.

🤖 Analiza AI
Jak działa

Gdy NodeVM jest tworzony z opcją nesting: true, kod wewnątrz sandbox może bezwarunkowo wywołać require('vm2') — niezależnie od konfiguracji zewnętrznej maszyny wirtualnej, nawet gdy ustawiono require: false. Uzyskując w ten sposób dostęp do modułu vm2, złośliwy kod tworzy nową, wewnętrzną instancję NodeVM z własnymi, nieograniczonymi ustawieniami require. Pozwala to na załadowanie dowolnych modułów systemowych i wykonanie nieograniczonych poleceń OS na maszynie hosta.

Skutki

Atakujący może w pełni skompromitować aplikację hostującą sandbox — wykonać dowolne polecenia na poziomie systemu operacyjnego (RCE), uzyskać dostęp do danych, zmodyfikować system lub zainstalować złośliwe oprogramowanie.

Mitygacja

Należy zaktualizować bibliotekę vm2 do wersji 3.11.1 lub nowszej, w której podatność została naprawiona. Do czasu aktualizacji należy unikać używania opcji nesting: true w NodeVM przy uruchamianiu niezaufanego kodu.

Kogo dotyczy

Biblioteka vm2 dla Node.js w wersjach poprzedzających 3.11.1, gdy NodeVM jest uruchamiany z opcją nesting: true.

Uwagi

Podatność zgłoszona i naprawiona w wersji 3.11.1. Szczegóły dostępne w oficjalnym security advisory repozytorium GitHub projektu vm2.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
  • Vm2 Project Vm2

    APP
    Vm2 Project
    < 3.11.1
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-44005CRITICAL10.0PL ✓ten sam produkt

vm2: mutacja prototypów hosta z poziomu sandbox (prototype pollution)

CVE-2026-44006CRITICAL10.0PL ✓ten sam produkt

vm2 (Node.js): ucieczka z sandbox przez BaseHandler.getPrototypeOf (RCE)

CVE-2026-43997CRITICAL10.0PL ✓ten sam produkt

Ucieczka z sandboxa w bibliotece vm2 dla Node.js (RCE)

CVE-2026-43999CRITICAL9.9PL ✓ten sam produkt

vm2: ominięcie listy dozwolonych modułów i RCE przez builtin 'module'

CVE-2026-44008CRITICAL9.8PL ✓ten sam produkt

Ucieczka z sandboxu vm2 poprzez getter na prototypie tablicy