CVE-2026-41673
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 48 - wyżej niż 48% wszystkich znanych CVE
Streszczenie
W bibliotece @xmldom/xmldom przed wersjami 0.9.10 i 0.8.13 oraz w xmldom 0.6.0 i starszych, siedem rekurencyjnych przejść w pliku lib/dom.js działa bez ograniczenia głębokości. Zbyt głęboko zagnieżdżone drzewo DOM powoduje błąd RangeError: przekroczenie maksymalnego rozmiaru stosu wywołań, co prowadzi do awarii aplikacji.
Ocena ryzyka
Atakujący może dostarczyć specjalnie spreparowany dokument XML o dużej głębokości zagnieżdżenia, powodując awarię aplikacji (odmowa usługi).
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę @xmldom/xmldom do wersji 0.9.10 lub 0.8.13 albo nowszej, a w przypadku xmldom do wersji powyżej 0.6.0.
Inne podatności w @xmldom/xmldom
Zobacz wszystkie- CVE-2026-83619Wysokie
xmldom to moduł JavaScript implementujący DOMParser i XMLSerializer. W wersjach od 0.7.0 do 0.8.15 parser w lib/sax.js używa niezakotwiczonego wyrażenia globalnego do przycinania nazw tagów końcowych, co prowadzi do kwadratowego cofania się przy długich ciągach białych znaków. Mały nieuwierzytelniony dokument XML może zablokować pętlę zdarzeń Node.js. Problem naprawiono w wersji 0.8.15.
- CVE-2026-83618Wysokie
xmldom to moduł JavaScript implementujący DOMParser i XMLSerializer. W wersjach od 0.9.10 do 0.9.12 walidacja DocumentType.publicId i systemId przy użyciu wyrażeń z flagą multiline pozwala na obejście sprawdzania poprawności i wstrzyknięcie znaczników do deklaracji <!DOCTYPE>. Problem naprawiono w wersji 0.9.12.
- CVE-2026-83617Wysokie
xmldom to moduł JavaScript implementujący DOMParser i XMLSerializer. W wersjach od 0.9.11 do 0.9.12 sprawdzanie nazw elementów i atrybutów przy użyciu wyrażenia QName_exact z flagą multiline pozwala na obejście walidacji i wstrzyknięcie znaczników do nazw elementów lub atrybutów. Problem naprawiono w wersji 0.9.12.
- CVE-2026-83616Wysokie
xmldom to moduł JavaScript implementujący DOMParser i XMLSerializer. Przed wersjami 0.8.15 i 0.9.12 oraz w xmldom 0.6.0 i starszych, Document.createProcessingInstruction() akceptuje niezwalidowany target, co pozwala na wstrzyknięcie struktury XML przez złamanie granicy instrukcji przetwarzania. Problem naprawiono w wersjach 0.8.15 i 0.9.12; dla xmldom brak poprawki.
- CVE-2026-83615Wysokie
xmldom to moduł JavaScript implementujący DOMParser i XMLSerializer. Przed wersjami 0.8.15 i 0.9.12 oraz w xmldom 0.1.5-0.6.0, appendElement w lib/sax.js klonuje całą mapę przestrzeni nazw dla każdego zagnieżdżonego elementu, co prowadzi do kwadratowego zużycia pamięci. Mały dokument XML może wyczerpać pamięć procesu. Problem naprawiono w wersjach 0.8.15 i 0.9.12; dla xmldom brak poprawki.
- CVE-2026-83614Wysokie
xmldom to moduł JavaScript implementujący DOMParser i XMLSerializer. Przed wersjami 0.8.15 i 0.9.12 oraz w xmldom 0.3.0-0.6.0, dwie niezależne ścieżki kwadratowe mogą powodować odmowę usługi: parseElementStartPart wielokrotnie skanuje uszkodzoną nazwę tagu, a normalize() wielokrotnie usuwa i dodaje sąsiednie węzły tekstowe. Problem naprawiono w wersjach 0.8.15 i 0.9.12; dla xmldom brak poprawki.
- CVE-2026-83613Wysokie
xmldom to moduł JavaScript implementujący DOMParser i XMLSerializer. Przed wersjami 0.8.15 i 0.9.12 oraz w xmldom 0.6.0 i starszych, DOMHandler.startElement wstawia każdy atrybut przez setAttributeNode, a NamedNodeMap.setNamedItem wykonuje liniowe wyszukiwanie, co prowadzi do kwadratowej złożoności przy wielu atrybutach. Mały dokument XML może zablokować pętlę zdarzeń Node.js. Problem naprawiono w wersjach 0.8.15 i 0.9.12; dla xmldom brak poprawki.
- CVE-2026-83612Wysokie
xmldom to moduł JavaScript implementujący DOMParser i XMLSerializer. W wersjach od 0.9.0-beta.1 do 0.9.12, parsowanie w trybie HTML przez DOMParser.parseFromString() nieprawidłowo obsługuje zamykające tagi o mieszanej wielkości liter dla elementów script, style, textarea i title. Prowadzi to do niestabilnego działania parsera i kwadratowej amplifikacji wyjścia. Mały dokument text/html może zużyć nadmierne CPU i pamięć. Problem naprawiono w wersji 0.9.12.
- CVE-2026-41675Wysokie
Biblioteka @xmldom/xmldom przed wersjami 0.9.10 i 0.8.13 oraz xmldom w wersji 0.6.0 i starszych nie waliduje danych instrukcji przetwarzania, co pozwala atakującemu na wstrzyknięcie sekwencji zamykającej ?> i dodanie dowolnych węzłów XML do wynikowego dokumentu.
Oryginalny opis (angielski, źródło NVD)
xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) `DOMParser` and `XMLSerializer` module. In @xmldom/xmldom prior to versions 0.9.10 and 0.8.13 and xmldom version 0.6.0 and prior, seven recursive traversals in lib/dom.js operate without a depth limit. A sufficiently deeply nested DOM tree causes a RangeError: Maximum call stack size exceeded, crashing the application. This issue has been patched in versions @xmldom/xmldom versions 0.9.10 and 0.8.13.

