Ve standardní knihovně C musl byla odhalena zranitelnost (CVE-2024-2961), která vede k přetečení bufferu při převodu speciálně formátovaného textu z kódování EUC-KR do UTF-8 pomocí funkce iconv(). Zranitelnost se projevuje od verze musl 0.9.13 a bude opravena v plánované verzi 1.2.6 (před vydáním aktualizace je třeba použít patch). Zranitelnost byla odhalena při fuzzingovém testování spojeným s knihovnou libxml2.
Zranitelnost může být využita k útokům na aplikace sestavené s knihovnou musl, které provádějí přeencodeování textu získaného z externích zdrojů. Využití zranitelnosti je možné při volání funkce iconv_open() v aplikaci s uvedením původního kódování EUC-KR a cílového kódování UTF-8. Jako příklady potenciálně zranitelných aplikací se uvádějí programy, které přeencodeují XML, HTML a e-maily na základě kódování uvedeného v hlavičce s MIME typem (například „text/plain; charset=EUC-KR“). Například podobné přeencodeování provádějí programy využívající knihovnu libxml2.
Zranitelnost je způsobena kombinací dvou chyb. První chyba souvisí s nedostatečnou kontrolou nesprávných vícibytných posloupností v dekodéru EUC-KR. Druhá chyba se nachází v kodéru UTF-8, který nebyl navržen na to, že dekodér vstupních dat může vrátit neplatné skalární hodnoty Unicode. V důsledku toho zpracování posloupností typu „\xc8\x41“ vede k zápisu hodnot do oblasti mimo vyhrazený buffer.
Zdroj: opennet.ru
