CVE-2026-76641
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 29 - wyżej niż 29% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Przetwarzanie złośliwego XML może prowadzić do awarii aplikacji lub uszkodzenia pamięci, co może umożliwić atakującemu naruszenie integralności danych lub dostępność usługi.
Rekomendacja
Zaktualizuj bibliotekę Expat do wersji, która zawiera poprawkę (jeśli dostępna). Jeśli nie jest dostępna, unikaj przetwarzania niezaufanego XML z zewnętrznymi encjami.
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 through 2.8.3 contains an out-of-bounds read vulnerability that allows attackers to trigger memory corruption by processing XML with external entity parsers created via XML_ExternalEntityParserCreate. A struct size mismatch between ELEMENT_TYPE members causes storeAtts to read the attIndex member past allocated memory boundaries, resulting in failure to normalize whitespace in non-CDATA attributes or a wild pointer dereference causing a segfault. This vulnerability was introduced by the fix for CVE-2026-66046.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

