Se ha detectado una vulnerabilidad en la biblioteca estándar de C Glibc (CVE-2024-2961) que provoca un desbordamiento de búfer al convertir cadenas formateadas de manera especial en la codificación ISO-2022-CN-EXT mediante la función iconv(). El investigador que identificó el problema tiene planes de presentar un informe el 10 de mayo en la conferencia OffensiveCon, en el que se menciona la posibilidad de explotación de la vulnerabilidad a través de aplicaciones en PHP. Se afirma que el problema afecta a todo el ecosistema de PHP y a algunas aplicaciones.
Al convertir cadenas en la codificación UCS4, de acuerdo con los requisitos del RFC 1922, la biblioteca añade ciertos caracteres de escape que destacan partes de la cadena en las que se ha cambiado la codificación. La vulnerabilidad es causada por una verificación incorrecta de los límites de los búferes internos en la función iconv(), lo que puede llevar a un desbordamiento de búfer de hasta 4 bytes. Durante este desbordamiento, pueden escribirse ciertos valores fijos, como '$+I', '$+J', '$+K', '$+L', '$+M' y '$*H'. Aunque la explotación de esta vulnerabilidad para ejecutar código parece improbable, el investigador que la descubrió ha afirmado que esto fue suficiente para preparar varios prototipos de exploit para un ataque remoto a aplicaciones PHP que podría resultar en la ejecución de código.
La vulnerabilidad se ha manifestado desde el año 2000 y ha sido corregida en la rama en desarrollo de Glibc 2.40. La corrección también está disponible en forma de parches para las versiones de Glibc desde 2.32 hasta 2.39. En los distribuidores, se puede seguir la corrección de la vulnerabilidad en las páginas de: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.
Fuente: opennet.ru
