viernes, 29 de enero de 2010

Ejecución remota de código a través de "mod_proxy" en Apache HTTP Server

Se ha encontrado un error de desbordamiento de entero en el módulo "mod_proxy" que afecta a la rama 1.3 del servidor web Apache sobre arquitecturas de 64 bits.

El módulo "mod_proxy" dota al servidor web de capacidades para actuar de proxy FTP, CONNECT (para SLL) y para el protocolo de aplicación HTTP en sus versiones 0.9, 1.0 y 1.1.

El fallo reside en la función "ap_proxy_send_fb" de "src/modules/proxy/proxy_util.c". Cuando se leen datos del socket, el tamaño de la cantidad recibida se convierte al tipo de entero "int" desde "long". En arquitecturas de 64 bits se pierden los 4 bytes de menor peso en la operación, el resultado es un valor entero negativo, que se pasa como argumento a la función "memcpy", indicando erróneamente que copie un tamaño de búfer con valor negativo. Esto podría provocar un desbordamiento de memoria intermedia basada en heap.

Este fallo puede ser aprovechado por un atacante remoto para ejecutar código arbitrario a través de peticiones especiales manipuladas.

La vulnerabilidad tiene asignado el CVE-2010-0010 y sólo afecta a las versiones 1.3.41 e inferiores que corran sobre una arquitectura de 64 bits. Apache publicará una corrección en la versión 1.3.42.


David García
dgarcia@hispasec.com


Más información:

Changelog de la rama 1.3:
http://httpd.apache.org/dev/dist/CHANGES_1.3.42

Advisory original:
http://site.pi3.com.pl/adv/mod_proxy.txt

No hay comentarios:

Publicar un comentario en la entrada