Desbordamiento de enteros en PHP 5.x

Alexander Gavrun ha publicado en su blog personal un fallo de seguridad que ha descubierto en la función ‘phar_parse_tarfile’ de PHP 5.

phar‘ es una extensión de PHP concebida para empaquetar aplicaciones PHP y facilitar así su distribución e instalación en otros sistemas. Proporciona además una abstracción para manipular ficheros ZIP y TAR.

El fallo se encuentra en el fichero ‘ext\phar\tar.c’. Existe un error de programación que introduce un desbordamiento de enteros durante el manejo de las cabeceras de los ficheros TAR. Un atacante puede manipular el valor ‘entry.filename_len’ al haber sido asignado después de operar con el resultado de la función ‘phar_tar_number’ que utiliza como argumento el ‘header->size’.

Al llamar a la función ‘php_stream_read’ se intentaría copiar datos a un buffer que no ha sido previamente reservado, lo que provocaría una denegación de servicio y potencialmente permitiría ejecutar código arbitrario.

Alexander Gavrun ha publicado una prueba de concepto en su blog, codificada en Base64. Hasta el momento php.net no ha publicado ninguna solución oficial.

Se recomienda no procesar con esta función archivos TAR en los que no se confíe.

Mas información en este enlace.

Fuente: Hispasec

Share

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.