jueves, 3 de noviembre de 2011

Elevación de privilegios en Apache

Se ha publicado a través de la página web http://www.halfdog.net/ una vulnerabilidad que afectaría a todas las versiones de Apache hasta la versión 2.2.20 y que permitiría elevar privilegios a un atacante con cuenta en la máquina.

La vulnerabilidad se encontraría en la función 'ap_pregsub' del fichero 'server/util.c' al ser llamada por el módulo 'mod-setenvif'. Causaría un desbordamiento de enteros por el que un atacante local podría ejecutar código empleando para ello un fichero .htaccess especialmente manipulado. Los privilegios bajo los que se ejecutaría el código serían los mismos que el servidor Apache (habitualmente "nobody", "www", etc.). En entornos de hosting compartido, esto podría ocasionar numerosos problemas.

Con el ataque se podrían conseguir diferentes impactos: desde ralentizar el servidor y provocar una denegación de servicio, hasta la ejecución de código con los privilegios del servidor.

El atacante debe tener disponer de los permisos  necesarios para crear un fichero .htaccess especialmente manipulado y el módulo mod_setenvif debe estar siendo usado por Apache.

No existe una solución oficial todavía. Sí se podrían aplicar dos soluciones temporales que de alguna forma mitigarían el impacto: La primera de ellas sería deshabilitar el módulo implicado. La segunda pasaría por imposibilitar el uso de ficheros .htaccess en aquellos directorios en los que los usuarios tuviesen permisos de escritura empleando para ello la secuencia "AllowOverride None".

Más información:

Integer Overflow in Apache ap_pregsub via mod-setenvif


Borja Luaces

Sergio de los Santos
Twitter: @ssantosv


No hay comentarios:

Publicar un comentario en la entrada