Une vulnérabilité a été identifiée dans la bibliothèque standard C Musl (CVE-2024-2961), entraînant un dépassement de tampon lors de la conversion de texte spécialement formaté de l'encodage EUC-KR en UTF-8 à l'aide de la fonction iconv(). Cette vulnérabilité se manifeste à partir de la version musl 0.9.13 et sera corrigée dans la version 1.2.6 à venir (jusqu'à la publication de la mise à jour, il est conseillé d'utiliser un correctif). La vulnérabilité a été découverte par le biais de tests de fuzzing accompagnant la bibliothèque libxml2.
La vulnérabilité peut être exploitée pour attaquer des applications compilées avec la bibliothèque Musl et effectuant la re-codification de texte provenant de sources externes. L'exploitation de la vulnérabilité est possible lors de l'appel de la fonction iconv_open() de l'application avec l'encodage source EUC-KR et l'encodage cible UTF-8. En guise d'exemple d'applications potentiellement vulnérables, on mentionne les programmes recodant des fichiers XML, HTML et des messages électroniques en fonction de l'encodage spécifié dans l'en-tête avec le type MIME (par exemple, «text/plain; charset=EUC-KR»). Par exemple, ce type de re-codification est effectué par des programmes utilisant la bibliothèque libxml2.
La vulnérabilité est causée par une combinaison de deux erreurs. La première erreur concerne l'absence de vérification adéquate des séquences multioctets incorrectes dans le décodeur EUC-KR. La seconde erreur se trouve dans l'encodeur UTF-8, qui n'était pas prévu pour que le décodeur des données d'entrée puisse renvoyer des valeurs scalaires Unicode invalides. En conséquence, le traitement de séquences telles que «\xc8\x41» conduit à l'écriture de valeurs en dehors de la zone du tampon alloué.
Source : opennet.ru
