1 2 3 4 5 6

Falla sin parchar de Apache permite accesos a redes internas

Computer World 28-Nov-2011

Investigador de seguridad revela cómo eludir el viejo parche a través de una vulnerabilidad de proxy inverso de Apache.

Una falla en proceso de parche descubierta en el servidor Apache HTTP permite a los atacantes acceder a recursos protegidos en redes internas, si algunas reglas de reescritura no se definen correctamente.

La vulnerabilidad afecta instalaciones de Apache que operan en modo proxy inverso, un tipo de configuración usado para balancear la carga, captura y otras operaciones que involucran la distribución de los recursos sobre múltiples servidores.

Con el fin de configurar el Apache HTTPD para correr como un proxy inverso, los servidores de administración usan módulos especializados como mod_proxy y mod_rewrite.

Investigadores de seguridad de Qualys advierten que si ciertas reglas no están correctamente configuradas, los atacantes pueden engañar a los servidores para realizar peticiones no autorizadas y acceder a recursos internos.

El problema no es nuevo, pues una vulnerabilidad que permitió ataques similares fue registrada en octubre pasado. Sin embargo, mientras se revisaba el parche para ello, el investigador Prutha Parikh se dio cuenta que pudo ser evitado debido a un bug en el procedimiento para el sistema de extracción URI (Identificador de Fuente Uniforme).

Una regla relativamente común de reescritura y proxeo es “^(.*)http://internal_host$1", la cual redirige la petición a la máquina internal_host. Sin embargo, si esto se usa, y el servidor recibe, por ejemplo, una petición para “host::port” (sin las comillas), la parte del “host:” es eliminada y el resto se adjudica a http://internal_host con el fin de acceder internamente.

El problema es que en este caso, la parte remanente es “:port”; por lo tanto, transformando la petición de acceso a http://internal_host:port, un comportamiento indeseado puede resultar en la exposición de un recurso protegido.

Con el fin de mitigar el problema, los administradores del servidor deberían agregar una diagonal antes del $1 en la regla de reescritura, siendo la forma correcta "^(.*) http://internal_host/ $ 1", dijo Parikh.

Los desarrolladores de Apache fueron advertidos del problema, y actualmente están discutiendo el mejor método de solucionarlo. Una posibilidad sería fortalecer el anterior parche y el código del servidor con el fin de rechazar tales peticiones. Sin embargo, no hay certeza de que otros métodos derivados no sean descubiertos.

"Podemos tratar de mejorar esa solución, pero creo que sería más sencillo cambiar los ajustes de translate_name en mod_proxy y mod_rewrite para hacer cumplir el requisito establecido", dijo el ingeniero sénior de software en Red Hat, Joe Ortonen, en la lista de correo de desarrollo de Apache. Orton propuso un parche que ya es revisado por otros desarrolladores.

Fuente: Computer World  CLA/GC

Universidad Nacional Autonoma de México Aviso legal |  Créditos |  Staff |  Administración
Copyright © Todos los derechos reservados
UNAM - CERT

r) {}