Diversas vulnerabilidades de denegación de servicio en PHP

iDefense ha informado sobre diversas vulnerabilidades de denegación de servicio en el lenguaje PHP, que pueden permitir a un atacante provocar la caída de todo el sistema. El problema reside en el tratamiento que realizan las rutinas php_handle_iff() y php_handle_jpeg() de la función getimagesize() del lenguaje PHP, que se emplea para determinar el tamaño y dimensiones de un gran número de formatos gráficos, incluidos los populares GIF, JPG, PNG y TIFF, entre otros.

El primero de los problemas se presenta en la función php_handle_iff(), definida en ext/standard/image.c, y que permitiría a un atacante remoto el consumo de todos los recursos de la CPU con la consiguiente denegación de servicio.

La segunda vulnerabilidad consiste en una validación insuficiente de las cabeceras de los gráficos JPEG en la función php_handle_jpeg(), también definida en ext/standard/image.c. Este formato contiene un campo de longitud que puede ser manipulado, de manera que se provoque un bucle infinito al copiar los datos del archivo a la memoria.

Estos problemas de seguridad pueden ser aprovechados por usuarios remotos -sin necesidad de autenticación- para conseguir el consumo del 100% de los recursos de la CPU de los sistemas vulnerables. Para ello, el atacante puede proporcionar una imagen maliciosa a la rutina PHP getimagesize() -que se emplea frecuentemente para el tratamiento de las subidas de gráficos a la aplicación web por parte de los usuarios-, lo que aumenta las posibilidades de realizar ataques exitosos.

El aviso original sobre estas vulnerabilidades puede ser consultado en la dirección: http://www.idefense.com

alonsojpd

alonsojpd

Presidente y fundador de Proyecto A y AjpdSoft

Deja un comentario