CVE-2026-41675
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może manipulować strukturą generowanego XML, co może prowadzić do naruszenia integralności danych, ominięcia zabezpieczeń lub wstrzyknięcia złośliwej treści do systemów przetwarzających XML.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę @xmldom/xmldom do wersji 0.9.10 lub 0.8.13 (lub nowszej) oraz 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-41673Wysokie
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.
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, the package allows attacker-controlled processing instruction data to be serialized into XML without validating or neutralizing the PI-closing sequence ?>. As a result, an attacker can terminate the processing instruction early and inject arbitrary XML nodes into the serialized output. This issue has been patched in versions @xmldom/xmldom versions 0.9.10 and 0.8.13.

