In de standaard C-bibliotheek Musl is een kwetsbaarheid ontdekt (CVE-2024-2961) die leidt tot een bufferoverloop bij het converteren van speciaal opgemaakte tekst van EUC-KR naar UTF-8 met de functie iconv(). De kwetsbaarheid doet zich voor vanaf versie musl 0.9.13 en wordt verholpen in de aankomende versie 1.2.6 (tot de publicatie van de update dient een patch gebruikt te worden). De kwetsbaarheid is ontdekt door de bijbehorende bibliotheek libxml2 tijdens fuzzing-tests.
De kwetsbaarheid kan worden misbruikt om aanvallen uit te voeren op toepassingen die zijn opgebouwd met de Musl-bibliotheek en tekst hercoderen die afkomstig is van externe bronnen. Misbruik van de kwetsbaarheid is mogelijk wanneer de functie iconv_open() in de applicatie wordt aangeroepen met de oorspronkelijke codering EUC-KR en de doelecodering UTF-8. Voorbeelden van potentiƫel kwetsbare toepassingen zijn programma's die XML, HTML en e-mails hercoderen op basis van de codering opgegeven in de header met het MIME-type (bijvoorbeeld "text/plain; charset=EUC-KR"). Dergelijke hercoderingen worden uitgevoerd door programma's die gebruikmaken van de bibliotheek libxml2.
De kwetsbaarheid wordt veroorzaakt door een combinatie van twee fouten. De eerste fout heeft betrekking op een gebrek aan adequate controle op ongeldige meerbyte-sequenties in de EUC-KR-decoder. De tweede fout zit in de UTF-8-encoder, die niet was ontworpen voor gevallen waarin de decoder ongeldige Unicode-schaalwaarden kan teruggeven. Dit leidt ertoe dat de verwerking van sequenties zoals "\xc8\x41" waarden naar een gebied buiten de toegewezen buffer schrijft.
Bron: opennet.ru
