Se trata de un error de desbordamiento de entero en la función "php_dechunk" de "ext/standard/filters.c" al procesar ciertas peticiones HTTP. Esta función se usa para decodificar fragmentos (chunks) codificados de un flujo HTTP.
La función efectúa una comparación del tamaño del fragmento a decodificar y el búfer reservado, empleando para ello un entero con signo, "chunk_size", miembro de la estructura "_php_chunked_filter_data".
El uso de un entero positivo interpretado como negativo podría provocar la copia de datos, entre memorias intermedias reservadas en el heap, de tamaño entre 2 y 4 Gb, resultando en una corrupción de memoria y provocando que la aplicación deje de responder.
Esto podría permitir a un atacante remoto causar una denegación de servicio a través de peticiones HTTP especialmente manipuladas.
Según Esser, son vulnerables las versiones inferiores de la 5.3.2 a la 5.3 incluidas. No existe parche para esta vulnerabilidad.
David García
dgarcia@hispasec.com
dgarcia@hispasec.com
No hay comentarios:
Publicar un comentario