Biblioteka libexpat w wersjach przed 2.6.3 zawiera podatność typu integer overflow w funkcji nextScaffoldPart w pliku xmlparse.c, dotyczącą zmiennej m_groupSize na platformach 32-bitowych. Podatność otrzymała ocenę CVSS 9.8 (CRITICAL) i może być wykorzystana zdalnie bez uwierzytelnienia.
▸ Pokaż oryginał (EN)
An issue was discovered in libexpat before 2.6.3. nextScaffoldPart in xmlparse.c can have an integer overflow for m_groupSize on 32-bit platforms (where UINT_MAX equals SIZE_MAX).
Na platformach 32-bitowych, gdzie wartość UINT_MAX jest równa SIZE_MAX, dochodzi do przepełnienia liczby całkowitej (integer overflow) w zmiennej m_groupSize podczas przetwarzania dokumentów XML przez funkcję nextScaffoldPart. Przepełnienie może prowadzić do nieprawidłowych operacji na pamięci, takich jak alokacja zbyt małego bufora lub dostęp poza jego granicami. Atakujący może dostarczyć specjalnie spreparowany dokument XML, który wyzwoli ten błąd.
Udane wykorzystanie podatności może umożliwić atakującemu zdalne wykonanie kodu (RCE), naruszenie poufności i integralności danych oraz powodowanie odmowy usługi (DoS) w aplikacjach korzystających z biblioteki libexpat na platformach 32-bitowych.
Należy zaktualizować libexpat do wersji 2.6.3 lub nowszej. Dodatkowe informacje o dostępnych patchach dla konkretnych dystrybucji i systemów znajdują się w referencjach producenta oraz w advisory Debian LTS, NetApp i Siemens.
Libexpat (libexpat Project) w wersjach przed 2.6.3, na platformach 32-bitowych (gdzie UINT_MAX equals SIZE_MAX).
Podatność dotyczy wyłącznie platform 32-bitowych, na których UINT_MAX equals SIZE_MAX — systemy 64-bitowe nie są narażone na ten konkretny błąd. Siemens opublikował własne advisory (SSA-082556) wskazujące na potencjalny wpływ na produkty tej firmy.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLibexpat Project Libexpat
APPLibexpat Project< 2.6.3
Powiązane podatności
Integer overflow w libexpat (dtdCopy) na platformach 32-bitowych
In Expat (aka libexpat) before 2.4.5, there is an integer overflow in storeRawNames.
xmltok_impl.c in Expat (aka libexpat) before 2.4.5 lacks certain validation of encoding, such as checks for wh...
xmlparse.c in Expat (aka libexpat) before 2.4.5 allows attackers to insert namespace-separator characters into...
Expat (aka libexpat) before 2.4.4 has a signed integer overflow in XML_GetBuffer, for configurations with a no...