V štandardnej C knižnici Musl bola zistená zraniteľnosť (CVE-2024-2961), ktorá vedie k pretečeniu bufferu pri prevode špeciálne formátovaného textu z kódovania EUC-KR do UTF-8 pomocou funkcie iconv(). Zraniteľnosť sa prejavuje od verzie musl 0.9.13 a bude opravená v pripravovanej verzii 1.2.6 (pred zverejnením aktualizácie je potrebné použiť opravu). Zraniteľnosť bola zistená sprievodcom knižnice libxml2 počas fuzzing testovania.
Zraniteľnosť môže byť využitá na útoky na aplikácie zostavené s knižnicou Musl a vykonávajúce prekodovanie textu prijatého z externých zdrojov. Exploatácia zraniteľnosti je možná pri volaní funkcie iconv_open() v aplikácii so špecifikovaným zdrojovým kódovaním EUC-KR a cieľovým kódovaním UTF-8. Ako príklad potenciálne zraniteľných aplikácií sú zmienené programy prekodujúce XML, HTML a emailové správy na základe kódovania uvedeného v MIME-type hlavičke (napríklad "text/plain; charset=EUC-KR"). Takéto prekodovania vykonávajú programy využívajúce knižnicu libxml2.
Zraniteľnosť je spôsobená kombináciou dvoch chýb. Prvá chyba súvisí s nedostatočnou kontrolou neplatných viacbajtových sekvencií v dekodéri EUC-KR. Druhá chyba je prítomná v UTF-8 kódovači, ktorý nebol navrhnutý tak, aby dekodér vstupných údajov mohol vrátiť neplatné škálárne hodnoty Unicode. V dôsledku toho spracovanie sekvencií ako „\xc8\x41“ vedie k zápisu hodnôt do oblasti mimo prideleného bufferu.
Zdroj: opennet.ru
