miércoles, 16 de septiembre de 2009

Ejecución de código en nginx

Existe un error de buffer underflow en nginx cuando trabaja sobre HTTP seguro (https). Esto podría ser aprovechado por un atacante remoto sin autenticar para ejecutar código arbitrario con los privilegios del usuario que corra la aplicación.
Nginx es un programa que puede ser utilizado como servidor http independiente y como servidor proxy. Puesto que es bastante ligero, se utiliza como proxy inverso delante de algunos servidores de producción (como Apache u otros) para reducir la carga de éstos cuando trabajan con muchas sesiones simultáneas.
El buffer underflow se produce al escribir los datos de la URI antes de asignar la memoria. Este error en concreto se encuentra en la función "ngx_http_parse_complex_uri()" en "http/ngx_http_parse.c" y puede ser aprovechado al enviar datos especialmente manipulados.
La vulnerabilidad puede darse cuando tanto cuando funciona como servidor web, como cuando trabaja como servidor proxy.
El parche está disponible desde el sitio oficial (www.nginx.net).
FUENTE: HISPASEC.COM