In de standaard C-bibliotheek Glibc is een kwetsbaarheid ontdekt (CVE-2024-2961) die leidt tot buffer-overloop bij het omzetten van speciaal opgemaakte tekenreeksen in de ISO-2022-CN-EXT codering door de iconv() functie. De onderzoeker die het probleem heeft ontdekt, is van plan op 10 mei een presentatie te geven op de OffensiveCon-conferentie, waarin wordt vermeld dat de kwetsbaarheid kan worden geƫxploiteerd via toepassingen in de programmeertaal PHP. Er wordt beweerd dat dit probleem de gehele PHP-ecosysteem en sommige toepassingen treft.
Bij het omzetten van tekenreeksen in UCS4-codering, volgens de eisen van RFC 1922, voegt de bibliotheek bepaalde escape-tekens toe die delen van de tekenreeks markeren waar de codering is gewijzigd. De kwetsbaarheid wordt veroorzaakt door onvoldoende controle op de grenzen van interne buffers door de iconv() functie, wat kan leiden tot een buffer-overloop van maximaal 4 bytes. Bij de buffer-overloop kunnen bepaalde vaste waarden worden geschreven, zoals ā$+Iā, ā$+Jā, ā$+Kā, ā$+Lā, ā$+Mā en ā$*Hā. Ondanks dat de exploitatie van een dergelijke kwetsbaarheid voor het uitvoeren van code onwaarschijnlijk lijkt, stelt de ontdekkende onderzoeker dat dit voldoende was voor het opzetten van verschillende prototypes van exploits voor een externe aanval op PHP-toepassingen, leidend tot code-uitvoering.
De kwetsbaarheid is al aanwezig sinds het jaar 2000 en is verholpen in de in ontwikkeling zijnde versie Glibc 2.40. De fix is ook beschikbaar in de vorm van patches voor Glibc-releases van 2.32 tot 2.39. In de distributies kan men de opvolging van de kwetsbaarheidfix vinden op pagina's zoals: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.
Bron: opennet.ru
