
Este repositorio contiene un programa en C para probar la vulnerabilidad CVE-2024-2961, un desbordamiento de búfer en la función iconv() de glibc.
Este repositorio contiene un programa en C para probar CVE-2024-2961, que involucra una vulnerabilidad de desbordamiento de búfer en la función iconv() de la Biblioteca C de GNU (glibc). Debido a la estructura del montón de PHP, este desbordamiento puede ser explotado para modificar parte de un puntero de lista libre, proporcionando finalmente una primitiva de escritura arbitraria dentro de la memoria del programa. En consecuencia, cualquier atacante con una vulnerabilidad de lectura de archivos y un prefijo controlado en una aplicación PHP puede lograr RCE. De manera similar, forzar a PHP a llamar a iconv() con parámetros controlados otorga al atacante la misma capacidad.
iconv instalada.Asegúrate de que tu sistema tenga glibc versión 2.39 o anterior:
ldd --version
Clona este repositorio en tu máquina local:
git clone https://github.com/exfil0/test_iconv.git
cd test_iconv
Usa GCC para compilar el programa en C:
gcc -o test_iconv test_iconv.c -liconv
Ejecuta el programa compilado:
./test_iconv
gdb para analizar el fallo y confirmar si está relacionado con la vulnerabilidad.Si encuentras un fallo, puedes usar gdb para obtener más detalles:
gdb ./test_iconv
Dentro de GDB, ejecuta el programa:
run
Si el programa falla, puedes inspeccionar el estado del programa:
bt
Esto te dará un backtrace del fallo, lo que puede ayudar a diagnosticar si el desbordamiento se debe al CVE.
Compila el programa con AddressSanitizer para detectar el desbordamiento:
gcc -fsanitize=address -o test_iconv test_iconv.c -liconv
./test_iconv
AddressSanitizer proporcionará información detallada si hay un desbordamiento de búfer.
Si se confirma la vulnerabilidad, considera actualizar glibc a una versión donde este problema esté parcheado. Puedes descargar e instalar la última versión desde el sitio web del proyecto GNU o el gestor de paquetes de tu distribución.
Para más detalles sobre esta vulnerabilidad, puedes leer el siguiente artículo de investigación: GLIBC Flaw CVE-2024-2961 Opens Door to RCE, PoC Exploit Published
Este código es solo con fines educativos y de prueba. No lo uses en sistemas sin la autorización adecuada.