CVE-2018-20843
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Bardzo wysokie ryzykoPercentyl 94 - wyżej niż 94% wszystkich znanych CVE
Streszczenie
W libexpat (Expat przed 2.2.7) przetwarzanie XML zawierającego nazwy z dużą liczbą dwukropków może spowodować wysokie zużycie pamięci RAM i CPU, co może być wykorzystane do ataków DoS.
Ocena ryzyka
Atakujący może wysłać specjalnie spreparowany dokument XML, powodując nadmierne zużycie zasobów systemowych i odmowę usługi dla aplikacji korzystających z Expat.
Rekomendacja
Zaktualizuj Expat do wersji 2.2.7 lub nowszej. Ogranicz przetwarzanie niezaufanych dokumentów XML.
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.
- CVE-2026-66046Wysokie
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.
Oryginalny opis (angielski, źródło NVD)
In libexpat in Expat before 2.2.7, XML input including XML names that contain a large number of colons could make the XML parser consume a high amount of RAM and CPU resources while processing (enough to be usable for denial-of-service attacks).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

