CVE-2016-4472
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Bardzo wysokie ryzykoPercentyl 96 - wyżej niż 96% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Organizacje mogą być narażone na ataki, które prowadzą do awarii systemów lub nieautoryzowanego wykonania kodu, co może skutkować utratą danych lub dostępem do wrażliwych informacji.
Rekomendacja
Zaleca się aktualizację Expat do najnowszej wersji, która zawiera poprawki zabezpieczeń, aby zminimalizować ryzyko związane z tą podatnością.
Inne podatności w Expat
Zobacz wszystkie- 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)
The overflow protection in Expat is removed by compilers with certain optimization settings, which allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via crafted XML data. NOTE: this vulnerability exists because of an incomplete fix for CVE-2015-1283 and CVE-2015-2716.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

