CVE-2024-45491
KrytyczneStreszczenie
W libexpat przed wersją 2.6.3 odkryto problem związany z przepełnieniem całkowitym w funkcji dtdCopy w pliku xmlparse.c. Problem ten występuje na platformach 32-bitowych, gdzie UINT_MAX równa się SIZE_MAX.
Ocena ryzyka
Przepełnienie całkowite może prowadzić do nieprzewidzianego zachowania aplikacji, co stwarza ryzyko wykorzystania tej podatności przez atakujących. Organizacje mogą być narażone na awarie systemów lub nieautoryzowany dostęp do danych.
Rekomendacja
Zaleca się aktualizację libexpat do wersji 2.6.3 lub nowszej, aby usunąć tę podatność. Należy również przeprowadzić audyt aplikacji korzystających z tej biblioteki w celu zminimalizowania ryzyka.
Inne podatności w libexpat
Zobacz wszystkie- CVE-2024-45490Wysokie
W bibliotece libexpat przed wersją 2.6.3 odkryto problem, w którym xmlparse.c nie odrzuca ujemnej długości dla funkcji XML_ParseBuffer.
- CVE-2017-11742Wysokie
Funkcja writeRandomBytes_RtlGenRandom w xmlparse.c w libexpat w wersjach 2.2.1 i 2.2.2 na systemie Windows umożliwia lokalnym użytkownikom uzyskanie uprawnień poprzez złośliwy plik ADVAPI32.DLL w bieżącym katalogu roboczym z powodu niezaufanej ścieżki wyszukiwania, co jest znane jako hijacking DLL.
- CVE-2017-9233Wysokie
Podatność typu XML External Entity w bibliotece libexpat w wersji 2.2.0 i wcześniejszych umożliwia atakującym wprowadzenie parsera w nieskończoną pętlę za pomocą źle sformułowanej definicji zewnętrznego bytu z zewnętrznego DTD.
- CVE-2024-50602Średnie
Problem w bibliotece libexpat przed wersją 2.6.4. Funkcja XML_ResumeParser może ulec awarii, jeśli XML_StopParser zatrzyma/zawiesi nieuruchomiony parser.
- CVE-2024-45492Krytyczne
W bibliotece libexpat przed wersją 2.6.3 odkryto problem, który może prowadzić do przepełnienia całkowitego w funkcji nextScaffoldPart w pliku xmlparse.c na platformach 32-bitowych.
- CVE-2026-76957Średnie
W libexpat przed wersją 2.8.4 brakuje śledzenia głębokości wywołań handlerów z niestandardowymi callbackami kodowania. Może to prowadzić do użycia po zwolnieniu (use-after-free). Podobne podatności to CVE-2026-50219, CVE-2026-56131 i CVE-2026-56412.
- CVE-2026-76956Średnie
W bibliotece libexpat w wersjach 2.8.2 i 2.8.3 przed 2.8.4 błędna interpretacja kodu zwrotnego funkcji getentropy prowadzi do niewystarczającej entropii, co czyni system podatnym na ataki typu hash flooding, powodujące odmowę usługi poprzez spreparowane treści XML.
- CVE-2026-72522Średnie
W libexpat przed wersją 2.8.3 wykryto podatność na odczyt poza zakresem i wynikającą z tego nieskończoną pętlę, ponieważ niskie surogaty są traktowane tak samo jak wysokie podczas przetwarzania Unicode w funkcjach *_toUtf16.
- CVE-2026-56412Średnie
W bibliotece libexpat przed wersją 2.8.2 nie uwzględniono XML_TOK_DATA_CHARS w funkcji doCdataSection, co prowadzi do braku śledzenia głębokości wywołań handlerów w przypadku naruszenia polityki. Może to skutkować wystąpieniem błędu use-after-free.
- CVE-2026-56411Średnie
W bibliotece libexpat przed wersją 2.8.2 występuje przepełnienie całkowite w funkcji xmlwf, które może wystąpić podczas przetwarzania deklaracji NOTATION w endDoctypeDecl.
Oryginalny opis (angielski, źródło NVD)
An issue was discovered in libexpat before 2.6.3. dtdCopy in xmlparse.c can have an integer overflow for nDefaultAtts on 32-bit platforms (where UINT_MAX equals SIZE_MAX).

