CVE-2026-66046
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 47 - wyżej niż 47% wszystkich znanych CVE
Streszczenie
Podatność na odmowę usługi w bibliotece Expat do wersji 2.8.3. Funkcja storeAtts() w xmlparse.c ma złożoność kwadratową, co przy przetwarzaniu dokumentu XML z wieloma atrybutami o nieznormalizowanych wartościach prowadzi do nadmiernego zużycia CPU.
Ocena ryzyka
Zdalny nieuwierzytelniony atakujący może wysłać dokument XML o rozmiarze kilku megabajtów, powodując przeciążenie procesora i odmowę usługi.
Rekomendacja
Zaktualizuj bibliotekę Expat do wersji nowszej niż 2.8.3, jeśli dostępna jest poprawka.
Inne podatności w Expat
Zobacz wszystkie- CVE-2016-4472Wysokie
W Expat usunięto ochronę przed przepełnieniem przez kompilatory z określonymi ustawieniami optymalizacji, co pozwala zdalnym atakującym na spowodowanie awarii (denial of service) lub potencjalne wykonanie dowolnego kodu za pomocą spreparowanych danych XML.
- CVE-2016-0718Krytyczne
Expat umożliwia atakującym zależnym od kontekstu spowodowanie odmowy usługi (awarii) lub potencjalne wykonanie dowolnego kodu poprzez złośliwy dokument wejściowy, co prowadzi do przepełnienia bufora.
- CVE-2013-0340Średnie
expat przed wersją 2.4.0 nieprawidłowo obsługuje rozwinięcie encji, chyba że programista aplikacji użyje funkcji XML_SetEntityDeclHandler. Umożliwia to zdalnym atakującym wywołanie ataku denial of service (zużycie zasobów), wysyłanie żądań HTTP do serwerów intranetowych lub odczyt dowolnych plików poprzez spreparowany dokument XML (atak XXE).
- CVE-2009-3720Średnie
Funkcja updatePosition w pliku lib/xmltok_impl.c biblioteki Expat 2.0.1 zawiera podatność na odczyt poza zakresem bufora. Specjalnie spreparowane sekwencje UTF-8 w dokumencie XML mogą spowodować awarię aplikacji.
- CVE-2026-93990Wysokie
Expat przed wersją 2.8.5 nie sprawdza, czy wysoki surrogat w danych wejściowych UTF-16 jest poprzedzony niskim surrogatem, co pozwala na akceptację nieprawidłowych sekwencji UTF-16. Atakujący mogą dostarczyć XML zakodowany w UTF-16 zawierający pojedyncze wysokie surrogaty, które konsumują następną jednostkę kodu, powodując przekazanie niesparowanych surrogatów do aplikacji zbudowanych z XML_UNICODE oraz ciche zastępowanie znaków wejściowych w innych kompilacjach.
- CVE-2026-76641Wysokie
Biblioteka Expat do wersji 2.8.3 zawiera podatność odczytu poza zakresem, która pozwala atakującym na wywołanie uszkodzenia pamięci podczas przetwarzania XML z zewnętrznymi parserami encji utworzonymi przez XML_ExternalEntityParserCreate. Niezgodność rozmiaru struktury między elementami ELEMENT_TYPE powoduje, że storeAtts odczytuje człon attIndex poza przydzieloną pamięcią, co prowadzi do nieprawidłowej normalizacji białych znaków w atrybutach niebędących CDATA lub do dzikiego wskaźnika powodującego segfault. Podatność została wprowadzona przez poprawkę dla CVE-2026-66046.
Oryginalny opis (angielski, źródło NVD)
Expat through 2.8.3 contains a denial of service vulnerability caused by quadratic algorithmic complexity in the storeAtts() function in xmlparse.c, where processing N specified attributes with non-normalized values triggers an O(N^2) linear scan of elementType->defaultAtts to determine CDATA status. A remote unauthenticated attacker can supply a single well-formed XML document of a few megabytes to an application parsing untrusted XML to cause excessive CPU consumption, resulting in denial of service without requiring authentication, external entity resolution, or non-default parser options.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

