Seguridad: Apache DoS en 1.x y 2.x

Hoy he leído una noticia bastante interesante acerca de una denegación de servicio en Apache. Tal y como dice la noticia original existe multitud de código que permite explotar este problema.

Cuando se inicia la conexión el servidor espera a las cabeceras enviadas por el cliente. Después de enviar parte de la cabecera legítima, éste (DoSer) envia unas cabeceras especialmente manipuladas que provocan que el servidor no finalice la conexión y permanezca a la espera de las demás partes de la cabecera. Para poder mandar la cabecera que “mantiene al servidor a la escucha” en la cabecera legítima no se envia un CLRF final, sino que después de un tiempo se le envía la cabecera:

X-a: b\r\n
que provoca que el servidor siga aún esperando el resto de la cabecera al no estar finalizada a través de el CLRF que mencionamos anteriormente. Debido a que este ataque se puede realizar moviendo un volumen pequeño de datos como bien apunta la fuente original cualquier usuario con un ancho de banda mínimo podría explotar esta vulnerabilidad en servidores con un ancho de banda relativamente grande.

Si habéis pensado en el parámetro MaxClients lo que hará será incrementar las necesidades de ancho de banda y CPU de los atacantes. Según Tomasz Miklas es posible bloquear este tipo de ataques usando un proxy inverso como PerlBal usándolo delante del servidor con Apache

Apche 1.x y 2.x están afectadas, así como Squid.

Seguridad: Solaris 9 y 10 rpc.metad DoS

Se ha descubierto una vulnerabilidad que permitiría a un atacante realizar un ataque de denegación de servicio enviando peticiones RPC especialmente manipuladas.

Un usuario remoto o local podría cerrar de forma inesperada rpc.metad provocando el cierre de Solaris Volume Manager.

Se ha publicado una prueba de concepto en milw0rm.

CVE-2008-1480

Alerta en la página web de Sun