CRITICAL🇬🇧 English

CVE-2026-25641

Sandbox escape w SandboxJS — obejście walidacji kluczy właściwości

CVSS 10.0v3.1pub. 2026-02-06upd. 2026-02-18

Biblioteka SandboxJS przed wersją 0.8.29 zawiera krytyczną podatność umożliwiającą ucieczkę z sandbox (sandbox escape) przez manipulację kluczami obiektów JavaScript. Luka pozwala atakującemu na wykonanie niezaufanego kodu poza izolowanym środowiskiem, co stanowi bezpośrednie zagrożenie dla systemu hosta.

Pokaż oryginał (EN)

SandboxJS is a JavaScript sandboxing library. Prior to 0.8.29, there is a sandbox escape vulnerability due to a mismatch between the key on which the validation is performed and the key used for accessing properties. Even though the key used in property accesses is annotated as string, this is never enforced. So, attackers can pass malicious objects that coerce to different string values when used, e.g., one for the time the key is sanitized using hasOwnProperty(key) and a different one for when the key is used for the actual property access. This vulnerability is fixed in 0.8.29.

🤖 Analiza AI
Jak działa

Podatność wynika z rozbieżności (time-of-check to time-of-use, CWE-367) pomiędzy kluczem używanym podczas walidacji a kluczem faktycznie użytym przy dostępie do właściwości obiektu. Mimo że klucz jest oznaczony jako typ string, jego wartość nie jest nigdy faktycznie wymuszana jako taki. Atakujący może przekazać złośliwy obiekt, który podczas wywołania hasOwnProperty(key) w fazie sanityzacji zwraca jedną wartość, natomiast podczas rzeczywistego dostępu do właściwości zwraca inną — co pozwala ominąć mechanizm kontroli bezpieczeństwa. W efekcie możliwe jest odwołanie się do właściwości, które nie przeszły weryfikacji.

Skutki

Atakujący może uciec z izolowanego środowiska sandbox i uzyskać dostęp do zasobów hosta, co może prowadzić do pełnego naruszenia poufności, integralności oraz dostępności systemu.

Mitygacja

Należy zaktualizować bibliotekę SandboxJS do wersji 0.8.29 lub nowszej, w której podatność została usunięta. Poprawka dostępna jest w repozytorium producenta (commit 67cb186c41c78c51464f70405504e8ef0a6e43c3).

Kogo dotyczy

Nyariv SandboxJS we wszystkich wersjach przed 0.8.29

Uwagi

Podatność jest sklasyfikowana jako CVSS 10.0 (maksymalny wynik) z wektorem sieciowym, bez wymaganych uprawnień ani interakcji użytkownika, z wpływem na zakres poza komponentem dotkniętym luką (S:C).

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

    APP
    Nyariv
    < 0.8.29
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

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

SandboxJS: ucieczka z piaskownicy przez Function.caller i RCE

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

SandboxJS: obejście ochrony sandbox przez ścieżkę konstruktora

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

Ucieczka z sandbox w bibliotece Nyariv SandboxJS (RCE)

CVE-2026-25881CRITICAL9.0PL ✓ten sam produkt

SandboxJS: ucieczka z sandboxu i prototype pollution umożliwiająca RCE

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

Ucieczka z sandboxa w SandboxJS — wykonanie kodu poza piaskownicą