CRITICAL🇬🇧 English

CVE-2022-39353

xmldom: nieprawidłowa obsługa XML z wieloma węzłami głównymi

CVSS 9.4v3.1pub. 2022-11-02upd. 2024-11-21

Biblioteka xmldom (JavaScript) akceptuje nieprawidłowo zbudowany dokument XML zawierający wiele węzłów głównych (root nodes), dodając je wszystkie do kolekcji childNodes obiektu Document bez zgłaszania błędu. Jest to poważna podatność, ponieważ łamie fundamentalne założenie modelu DOM o istnieniu dokładnie jednego węzła głównego, co może prowadzić do podatności w aplikacjach zależnych.

Pokaż oryginał (EN)

xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) `DOMParser` and `XMLSerializer` module. xmldom parses XML that is not well-formed because it contains multiple top level elements, and adds all root nodes to the `childNodes` collection of the `Document`, without reporting any error or throwing. This breaks the assumption that there is only a single root node in the tree, which led to issuance of CVE-2022-39299 as it is a potential issue for dependents. Update to @xmldom/xmldom@~0.7.7, @xmldom/xmldom@~0.8.4 (dist-tag latest) or @xmldom/xmldom@>=0.9.0-beta.4 (dist-tag next). As a workaround, please one of the following approaches depending on your use case: instead of searching for elements in the whole DOM, only search in the `documentElement`or reject a document with a document that has more then 1 `childNode`.

🤖 Analiza AI
Jak działa

Biblioteka xmldom podczas parsowania dokumentu XML nie weryfikuje poprawnie, czy plik zawiera więcej niż jeden element najwyższego poziomu. Zamiast odrzucić taki dokument lub zgłosić błąd, parser dodaje wszystkie węzły główne do kolekcji childNodes obiektu Document. Aplikacje korzystające z xmldom zakładają, że istnieje tylko jeden węzeł główny — manipulacja tym założeniem przez atakującego może prowadzić do nieoczekiwanego zachowania logiki aplikacji, ominięcia walidacji lub weryfikacji (co powiązano z osobnym CVE-2022-39299).

Skutki

Atakujący może dostarczyć spreparowany dokument XML, aby ominąć mechanizmy walidacji lub weryfikacji w aplikacjach korzystających z xmldom, potencjalnie prowadząc do naruszenia integralności danych, nieautoryzowanego dostępu lub odmowy dostępu do usługi.

Mitygacja

Należy zaktualizować bibliotekę do wersji @xmldom/xmldom@~0.7.7, @xmldom/xmldom@~0.8.4 (dist-tag latest) lub @xmldom/xmldom@>=0.9.0-beta.4 (dist-tag next). Jako obejście (workaround) należy ograniczyć wyszukiwanie elementów wyłącznie do documentElement zamiast przeszukiwać cały DOM, lub odrzucać dokumenty zawierające więcej niż jeden childNode na poziomie Document.

Kogo dotyczy

@xmldom/xmldom w wersjach przed 0.7.7, przed 0.8.4 oraz przed 0.9.0-beta.4; a także pakiet xmldom projektu jindw oraz Debian Linux (pakiet z repozytorium LTS)

Uwagi

Podatność jest powiązana z CVE-2022-39299, które zostało wydane jako konsekwencja opisanego problemu w bibliotekach zależnych od xmldom.

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

    OS
    Debian
    10.0
  • Xmldom Project Xmldom

    APP
    Xmldom Project
    0.9.0< 0.6.00.7.0 – 0.7.7 (bez)0.8.0 – 0.8.4 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-24061CRITICAL9.8⚠ KEVPL ✓ten sam produkt

GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER

CVE-2025-32463CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)

CVE-2025-49113CRITICAL9.9⚠ KEVPL ✓ten sam produkt

RCE przez deserializację PHP w Roundcube Webmail (parametr _from)

CVE-2025-32433CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)

CVE-2025-24201CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki