CSIRTCV

Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es

25/08/2011

Nuevos ataques sobre un viejo DoS de Apache

En los últimos días ha resurgido una vieja vulnerabilidad sobre Apache que provoca la interrupción del servicio.

Riesgo: Alto

Un fallo en la forma en que el popular servidor web Apache maneja algunos tipos de peticiones con la cabecera HTTP "Range" puede permitir a un atacante remoto causar una condición de denegación de servicio en un servidor vulnerable. Este problema afecta a todas las versiones existentes de Apache, tanto en sus ramas anteriores (1.3.x y 2.0.x) como en la actual rama 2.2.x, y se han detectado ataques que aprovechan esta vulnerabilidad. Desde la Apache Software Foundation se está trabajando en un parche que solucione este problema.

Esta vulnerabilidad en Apache se conoce desde hace más de cuatro años, cuando el investigador Michael Zalewski la descubrió y publicó en un post de Bugtraq. Zalewski dijo, ya en 2007, que el ataque era relativamente simple y no especialmente innovador. "Combinando esto con la funcionalidad de reescalado de ventana (según el RFC 1323), me parece que una sola petición corta puede ser suficiente para hacer que el servidor empiece a ocupar gigabytes de datos de forma anómala, sin importar el tamaño del fichero en el servidor, el contador de conexiones, o los límites en las peticiónes Keep-Alive implementados por el servidor" escribió Zalewski.

Pero parece ser que la vulnerabilidad nunca fue solucionada por Apache y resurgió a finales de la semana pasada cuando otro investigador, conocido como Kingcope, envió un mensaje con detalles sobre la misma a Full Disclosure. Kingcope también publicó un script en Perl que realizaba el ataque, consumiendo toda la memoria del servidor Apache remoto. Este mensaje provocó una larga discusión en la lista de correo sobre la severidad y naturaleza de la vulnerabilidad, así como una discusión separada en la lista de correo de Apache sobre posibles medidas para mitigar este problema.

"Al menos Apache 2.2.17 tiene una vulnerabilidad de denegación de servicio que puede ser explotada remotamente, y que permite al atacante consumir toda la memoria disponible en el sistema atacado. Una petición provocando este fallo incluye una gran cabecera de tipo Range que solicita tantos bytes diferentes como sea posible de un fichero servido por httpd. Combinando esto con una cabecera Accept-Encoding que comprima los datos, se asume que el servidor httpd debe comprimir cada uno de los bytes solicitados por separado, consumiendo grandes regiones de memoria. Este comportamiento al comprimir los flujos de datos es devastador y puede provocar que el sistema sobre el que corre el servidor se vuelva inutilizable cuando las peticiones se realizan de forma paralela. Los síntomas son: swapping y muerte de procesos por falta de recursos, entre los que se puede encontrar, aunque no siempre, el proceso httpd", escribió Kingcope en el informe de fallo que introdujo en Apache Bugzilla.

Sistemas Afectados:

Apache 1.3.x en todas sus versiones
Apache 2.0.x en todas sus versiones
Apache 2.2.x en todas sus versiones

Referencias:

CVE-2011-3192

Solución:

Apache está desarrollando un parche para este problema, pero aparentemente no estará disponible hasta dentro de unos días más. Se pueden encontrar algunas posibles mitigaciones en este enlace.

Notas:

http://threatpost.com/en_us/blogs/apache-dos-bug-resurfaces-spurring-new-attacks-082411
http://secunia.com/advisories/45606/
http://www.h-online.com/security/news/item/Tool-causes-Apache-web-server-to-freeze-1330105.html

Fuente: ThreatPost

CSIRT-CV