Vulnerabilidad HTTP Request Smuggling en Apache 2.0.x
Tras un reciente descubrimiento por parte del laboratorio de White Dust, se ha verificado que todas las versiones de Apache previas a la 2.1.6 son vulnerables a un ataque HTTP Request Smuggling (HRS). En un principio, la rama 1.0.x está excluida del problema.
Apache es un servidor HTTP de código abierto, seguro, eficiente y extensible, para sistemas operativos UNIX y derivados, así como plataformas Microsoft Windows, que goza de gran popularidad, siendo la solución más empleada para servir HTTP a nivel mundial, con una cuota de mercado estimada en un 68% sobre el total.
La técnica del HRS fue originalmente descubierta y documentada por los analistas de Watchfire, y consiste básicamente en lanzar varias peticiones especialmente preparadas, de modo que dos dispositivos http (clientes, servidores, cachés, etc.) podrían visualizar distintos tipos de peticiones. Esto permitiría que usuarios maliciosos introdujeran peticiones camufladas en un dispositivo, sin que el otro se percatara.
En este caso, la petición preparada con una cabecera ‘Transfer-Encoding: chunked’ y un ‘Content-Length’ pueden provocar que Apache remita una petición modificada con la cabecera ‘Content-Length’ original. En éstas condiciones, la petición maliciosa podría ir de polizón junto a la válida, siendo los posibles resultados tan peligrosos y variopintos como envenenamiento de caché, Cross Site Scripting, secuestro de sesiones y otras tipologías de ataque similares.
La solución de esta vulnerabilidad problema pasa por la actualización de todos los demonios Apache pertenecientes a la rama 2.0.x a la versión 2.1.16, que corrige el problema. Nótese que la rama 2.1.x está en experimentación, con lo que instamos a los administradores de Apache a que repasen concienzudamente los contenidos que el proveedor ofrece en el sitio web oficial y las posibles repercusiones en cuanto a estabilidad que origine la actualización.