CRITICAL🇬🇧 English

CVE-2026-25586

SandboxJS — ucieczka z sandbox przez shadowing hasOwnProperty

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

Biblioteka SandboxJS w wersjach przed 0.8.29 umożliwia ucieczkę z izolowanego środowiska JavaScript poprzez przesłonięcie (shadowing) metody hasOwnProperty na obiekcie sandbox. Podatność ma ocenę CVSS 10.0 i pozwala atakującemu bez żadnych uprawnień na trwałe zainfekowanie Object.prototype hosta.

Pokaż oryginał (EN)

SandboxJS is a JavaScript sandboxing library. Prior to 0.8.29, a sandbox escape is possible by shadowing hasOwnProperty on a sandbox object, which disables prototype whitelist enforcement in the property-access path. This permits direct access to __proto__ and other blocked prototype properties, enabling host Object.prototype pollution and persistent cross-sandbox impact. This vulnerability is fixed in 0.8.29.

🤖 Analiza AI
Jak działa

Mechanizm ochronny biblioteki SandboxJS opiera się na białej liście właściwości prototypów, której egzekwowanie odbywa się w ścieżce dostępu do właściwości z wykorzystaniem metody hasOwnProperty. Atakujący może zadeklarować własną właściwość o nazwie hasOwnProperty bezpośrednio na obiekcie sandbox, co sprawia, że oryginalna kontrola białej listy zostaje pominięta. Po wyłączeniu tej ochrony możliwy jest bezpośredni dostęp do zablokowanych normalnie właściwości, takich jak __proto__, co umożliwia przeprowadzenie ataku prototype pollution na Object.prototype hosta. Efekty takiego zatrucia prototypu są trwałe i mogą wpływać na wszystkie inne obiekty działające w tym samym procesie, w tym inne instancje sandbox.

Skutki

Atakujący może przeprowadzić atak prototype pollution na globalny Object.prototype hosta, co prowadzi do trwałego, przekrojowego wpływu na wszystkie sandbox i obiekty w procesie, potencjalnie umożliwiając zdalne wykonanie kodu (RCE) lub przejęcie kontroli nad aplikacją.

Mitygacja

Należy zaktualizować SandboxJS do wersji 0.8.29 lub nowszej, w której podatność została naprawiona. Patch dostępny jest w repozytorium GitHub producenta (commit 67cb186c41c78c51464f70405504e8ef0a6e43c3).

Kogo dotyczy

Nyariv SandboxJS w wersjach przed 0.8.29

Uwagi

Podatność została zgłoszona i naprawiona przez autora biblioteki. Advisory dostępne pod GHSA-jjpw-65fv-8g48 w repozytorium GitHub nyariv/SandboxJS.

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ą