In der Standard-C-Bibliothek Musl wurde eine Sicherheitsanfälligkeit (CVE-2024-2961) festgestellt, die zu einem Pufferüberlauf führt, wenn speziell formatierter Text von der EUC-KR-Codierung in UTF-8 mit der Funktion iconv() umgewandelt wird. Die Sicherheitsanfälligkeit tritt ab Version musl 0.9.13 auf und wird in der bevorstehenden Version 1.2.6 behoben (bis zur Veröffentlichung des Updates sollte ein Patch verwendet werden). Die Sicherheitsanfälligkeit wurde während des Fuzzing-Tests durch die die Bibliothek begleitende libxml2 entdeckt.
Eine Sicherheitsanfälligkeit kann für Angriffe auf Anwendungen genutzt werden, die mit der Musl-Bibliothek erstellt wurden und Text aus externen Quellen dekodieren. Die Ausnutzung der Schwachstelle ist möglich, wenn im Anwendungsaufruf der Funktion iconv_open() die Quellkodierung EUC-KR und die Zielkodierung UTF-8 angegeben werden. Als Beispiel für potenziell anfällige Anwendungen werden Programme genannt, die XML-, HTML- und E-Mail-Nachrichten basierend auf der im Kopf mit dem MIME-Typ angegebenen Kodierung (zum Beispiel „text/plain; charset=EUC-KR“) dekodieren. Zum Beispiel führen Programme, die die libxml2-Bibliothek verwenden, solche Dekodierungen durch.
Die Schwachstelle ist das Ergebnis einer Kombination aus zwei Fehlern. Der erste Fehler betrifft das Fehlen einer angemessenen Überprüfung ungültiger Multibyte-Sequenzen im EUC-KR-Decodierer. Der zweite Fehler tritt im UTF-8-Codierer auf, der nicht darauf ausgelegt war, dass der Eingabedecodierer ungültige Unicode-Skalarwerte zurückgeben kann. In der Folge führt die Verarbeitung von Sequenzen wie „\xc8\x41“ zu einer Schreiboperation in den Bereich außerhalb des zugewiesenen Puffers.
Quelle: opennet.ru
