Vulnerabilidad de Musl explotada al recodificar texto en codificación EUC-KR

Se ha identificado una vulnerabilidad (CVE-2024-2961) en la biblioteca C estándar Musl, que provoca un desbordamiento de búfer al convertir texto especialmente formateado de codificación EUC-KR a UTF-8 utilizando la función iconv(). La vulnerabilidad aparece a partir de la versión 0.9.13 de musl y se solucionará en la próxima versión 1.2.6 (se debe utilizar un parche antes de publicar la actualización). La vulnerabilidad fue descubierta por el mantenedor de la biblioteca libxml2 durante una prueba de fuzzing.

La vulnerabilidad puede utilizarse para atacar aplicaciones compiladas con la biblioteca Musl que realizan codificación de texto recibido de fuentes externas. La vulnerabilidad se puede explotar llamando a la función iconv_open() en una aplicación con la codificación de origen EUC-KR y la codificación de destino UTF-8. Entre los ejemplos de aplicaciones potencialmente vulnerables se incluyen programas que recodifican XML, HTML y mensajes de correo electrónico según la codificación especificada en el encabezado de tipo MIME (por ejemplo, "text/plain; charset=EUC-KR"). Por ejemplo, una recodificación similar la realizan programas que utilizan la biblioteca libxml2.

La vulnerabilidad es causada por una combinación de dos errores. El primer error está relacionado con la falta de una verificación adecuada de secuencias multibyte no válidas en el decodificador EUC-KR. El segundo error está presente en el codificador UTF-8, que no fue diseñado para manejar el hecho de que el decodificador de entrada podría devolver valores escalares Unicode no válidos. Como resultado, el procesamiento de secuencias de la forma "\xc8\x41" da como resultado que los valores se escriban en un área más allá del límite del búfer asignado.

Fuente: opennet.ru

Añadir un comentario