CVE-2026-93990
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 28 - wyżej niż 28% wszystkich znanych CVE
Streszczenie
Expat do wersji 2.8.4 nie waliduje niskich surogatów następujących po wysokich surogatach w danych wejściowych UTF-16, co pozwala na akceptację nieprawidłowych sekwencji UTF-16. Atakujący mogą tworzyć dane XML zakodowane w UTF-16 z pojedynczymi wysokimi surogatami, które pochłaniają kolejne jednostki kodu, ukrywając znaki znaczników przed parserem i umożliwiając ataki typu XML injection.
Ocena ryzyka
Może to prowadzić do wstrzyknięcia złośliwego kodu XML, co może skutkować wykonaniem kodu lub ujawnieniem danych.
Rekomendacja
Zaktualizuj Expat do wersji 2.8.5 lub nowszej. Unikaj przetwarzania niezaufanych danych XML w formacie UTF-16.
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-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-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)
Expat through 2.8.4 fails to validate low surrogates following high surrogates in UTF-16 input, allowing malformed UTF-16 sequences to be accepted. Attackers can craft UTF-16 encoded XML with lone high surrogates that consume following code units, hiding markup characters from the parser and enabling XML injection attacks.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

