CVE-2026-93990
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 28 - wyżej niż 28% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Może to prowadzić do nieprawidłowego przetwarzania danych XML, co może skutkować błędami aplikacji lub obejściem mechanizmów bezpieczeństwa.
Rekomendacja
Zaleca się aktualizację biblioteki Expat do wersji 2.8.5 lub nowszej.
Inne podatności w Expat
Zobacz wszystkie- CVE-2022-25315Krytyczne
W Expat (znanym jako libexpat) przed wersją 2.4.5 istnieje przepełnienie liczby całkowitej w funkcji storeRawNames.
- CVE-2022-25314Wysokie
W bibliotece Expat (libexpat) przed wersją 2.4.5 występuje przepełnienie liczby całkowitej w funkcji copyString.
- CVE-2022-25236Krytyczne
W xmlparse.c w Expat (znanym jako libexpat) przed wersją 2.4.5, atakujący mogą wstawiać znaki separatora przestrzeni nazw do URI przestrzeni nazw.
- CVE-2022-25235Krytyczne
W xmltok_impl.c w Expat (znanym jako libexpat) przed wersją 2.4.5 brakuje pewnych walidacji kodowania, takich jak sprawdzanie, czy znak UTF-8 jest poprawny w danym kontekście.
- CVE-2022-23990Wysokie
W bibliotece Expat (libexpat) w wersjach przed 2.4.4 występuje przepełnienie liczby całkowitej w funkcji doProlog. Może to prowadzić do nieprawidłowego działania parsera XML.
- CVE-2022-23852Krytyczne
Expat (znany jako libexpat) przed wersją 2.4.4 ma podpisane przepełnienie liczby całkowitej w funkcji XML_GetBuffer, dla konfiguracji z niezerowym XML_CONTEXT_BYTES.
- CVE-2022-22824Krytyczne
Funkcja defineAttribute w pliku xmlparse.c w bibliotece Expat (libexpat) przed wersją 2.4.3 zawiera błąd przepełnienia liczby całkowitej. Może to prowadzić do nieprawidłowego działania parsera XML.
- CVE-2022-22823Krytyczne
Funkcja build_model w pliku xmlparse.c w bibliotece Expat (libexpat) przed wersją 2.4.3 zawiera błąd przepełnienia liczby całkowitej. Może to prowadzić do nieprawidłowego działania parsera XML.
- CVE-2022-22822Krytyczne
Funkcja addBinding w xmlparse.c w Expat (znanym jako libexpat) przed wersją 2.4.3 ma przepełnienie liczby całkowitej.
- CVE-2021-45960Wysokie
W bibliotece Expat (libexpat) przed wersją 2.4.3, przesunięcie bitowe w lewo o 29 lub więcej pozycji w funkcji storeAtts w pliku xmlparse.c może prowadzić do nieprawidłowego działania funkcji realloc (np. przydzielanie zbyt małej ilości pamięci lub tylko zwalnianie pamięci).
Oryginalny opis (angielski, źródło NVD)
Expat before 2.8.5 fails to validate that a high surrogate in UTF-16 input is followed by a low surrogate, allowing malformed UTF-16 sequences to be accepted. Attackers can supply UTF-16 encoded XML containing lone high surrogates that consume the following code unit, causing Expat to pass unpaired surrogates to applications built with XML_UNICODE and to silently replace input characters in other builds.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

