killapache: consigue un DoS remoto desde un único PC

Un fallo desconocido en el código para procesar los encabezados de los rangos de bytes hace posible que las versiones 2.2.x del servidor web Apache puedan ser detenidas desde un único PC.

Killapache.pl, un script en perl de Kingcope publicado en las listas Full Disclosure, demuestra esta vulnerabilidad enviando peticiones GET con varios rangos de bytes que demandan grandes cantidades de memoria al sistema.

La declaración de un rango de bytes permite a un navegador cargar sólo algunas partes de un documento, por ejemplo bytes de 500 a 1000. Este método es usado por programas como los clientes de descarga para reanudar las descargas que se han interrumpido, y está diseñado para reducir los requisitos de ancho de banda. Sin embargo, parece que iniciar múltiples componentes no clasificados en la cabecera puede causar un mal funcionamiento del servidor Apache.

Todavía no se ha liberado un parche oficial que solucione esta vulnerabilidad, pero es posible una alternativa temporal o workaround usando reglas rewrite que permitan una única petición de rangos en las cabeceras de las peticiones GET y HEAD. En la mayoría de las aplicaciones esto no debería suponer un problema. Para habilitar las reglas, los administradores deben cargar el módulo mod_rewrite del Apache.

Otro workaround posible sería utilizar el módulo mod_header con la configuración "RequestHeader unset Range" para eliminar por completo cualquier petición de rango contenida en un encabezado. Sin embargo, es probable que esta solución cause más problemas que restringir sólo el número de rangos.

Por último, se recomienda también a los administradores utilizar la herramienta para poner a prueba la eficacia de sus medidas antes de que otros lo hagan por ellos.

Visto en 'Tool causes Apache web server to freeze'.

Parche: Se lanza la versión 2.2.20 para corregir la vulnerabilidad de DoS

Comentarios