Eine Schwachstelle in Musl, die bei der Umcodierung von Text in der EUC-KR-Codierung ausgenutzt wird

In der Standard-C-Bibliothek Musl wurde eine Schwachstelle (CVE-2024-2961) entdeckt, die zu einem Pufferüberlauf führt, wenn speziell gestalteter Text von EUC-KR nach UTF-8 mit der Funktion iconv() konvertiert wird. Die Schwachstelle tritt ab der Version musl 0.9.13 auf und wird in der bevorstehenden Veröffentlichung 1.2.6 behoben (vor der Veröffentlichung des Updates sollte ein Patch verwendet werden). Die Schwachstelle wurde beim Fuzzing-Test der zugehörigen Bibliothek libxml2 entdeckt.

Die Schwachstelle kann ausgenutzt werden, um Angriffe auf Anwendungen durchzuführen, die mit der Musl-Bibliothek kompiliert wurden und Text aus externen Quellen umkodieren. Die Ausnutzung der Schwachstelle ist möglich, wenn in der Anwendung die Funktion iconv_open() mit der angegebenen Quellcodierung EUC-KR und Zielcodierung UTF-8 aufgerufen wird. Als Beispiel für potenziell verwundbare Anwendungen werden Programme genannt, die XML, HTML und E-Mails basierend auf der im MIME-Typ-Header angegebenen Kodierung umcodieren (z. B. „text/plain; charset=EUC-KR“). Solche Umkodierungen werden von Programmen durchgeführt, die die libxml2-Bibliothek verwenden.

Die Schwachstelle entsteht durch eine Kombination aus zwei Fehlern. Der erste Fehler bezieht sich auf die unzureichende Überprüfung ungültiger Mehrbyte-Sequenzen im EUC-KR-Dekodierer. Der zweite Fehler liegt im UTF-8-Kodierer, der nicht dafür ausgelegt war, dass der Dekodierer ungültige Unicode-Skalare zurückgeben kann. Infolgedessen führt die Verarbeitung von Sequenzen wie „\xc8\x41“ zu Schreibvorgängen in Bereiche außerhalb des zugewiesenen Puffers.

Quelle: opennet.ru

60GB SSD 8Gb DDR4