HTTPoxy: vulnerabilidad en Apache/Ngnix/PHP/Go/Python redescubierta después de 15 años
Peligrosas vulnerabilidades descubiertas hace 15 años han aparecido nuevamente dejando potencialmente abierto cualquier servidor web. La vulnerabilidad fue bautizada como HTTPoxy y está ligada a un error encontrado por Randal Schwartzen en Perl en 2001. En el mismo año también fue identificada en curl, en 2012 en Ruby y en 2013 en Nginx.
Esta vez se ha encontrado en los lenguajes PHP, Python y Go. La Fundación de Software Apache, Red Hat, Ngnix y otros se han apresurado a informar sobre HTTPoxy que es un compendio de las siguientes vulnerabilidades en implementaciones CGI:
Básicamente, es un abuso de la cabecera HTTP_PROXY en una solicitud al servidor web. Debido a un conflicto de nombres, la aplicación web podría utiliza el servidor proxy definido por esa variable para cualquier tipo de conexión HTTP saliente. La convención de nomenclaturas para los campos de encabezado HTTP en las variables de entorno CGI definidas por la RFC 3875 son convertidas a mayúsculas y tienen el prefijo "HTTP_".
Si un cliente envía un cabecera "Proxy" algunas implementaciones de CGI crearán una variable de entorno "HTTP_PROXY" que anula la variable real del mismo nombre. Por lo tanto, si el HTTP_PROXY es un servidor malintencionado (Ej: Proxy: evil.example.com), este puede interceptar las conexiones de la aplicación web a otros sistemas y, dependiendo de cómo está diseñado el código, potencialmente obtener una ejecución remota de código.
"Si se está ejecutando PHP o CGI debe bloquear la cabecera Proxy ahora mismo" dijo el ingeniero de Dominic Scheirlinck de la empresa Vend, quien coordinó la divulgación de las vulnerabilidades con los fabricantes de software. La coordinación de la publicación dió tiempo a los fabricantes a conocer los detalles, antes del anuncio público.
Hay avisos disponibles ahora de Apache, Red Hat, US CERT, Nginx, y Drupal y aquí hay una guía no técnica. Microsoft IIS también puede ser afectado si se ejecutan aplicaciones CGI o de terceros.
Si se desean detalles técnicos se pueden analizar las pruebas de concepto publicadas en Github.
"HTTPoxy es muy fácil de explotar en forma básica" añadió Scheirlinck.
Para llevar a cabo la mitigación se debe bloquear el uso de la cabecera Proxy en el servidor web. Parchea inmediatamente.
- CVE-2016-5385: PHP
- CVE-2016-5386: Go
- CVE-2016-5387: Apache HTTP Server
- CVE-2016-5388: Apache Tomcat
- CVE-2016-1000109: HHVM
- CVE-2016-1000110: Python
Básicamente, es un abuso de la cabecera HTTP_PROXY en una solicitud al servidor web. Debido a un conflicto de nombres, la aplicación web podría utiliza el servidor proxy definido por esa variable para cualquier tipo de conexión HTTP saliente. La convención de nomenclaturas para los campos de encabezado HTTP en las variables de entorno CGI definidas por la RFC 3875 son convertidas a mayúsculas y tienen el prefijo "HTTP_".
Si un cliente envía un cabecera "Proxy" algunas implementaciones de CGI crearán una variable de entorno "HTTP_PROXY" que anula la variable real del mismo nombre. Por lo tanto, si el HTTP_PROXY es un servidor malintencionado (Ej: Proxy: evil.example.com), este puede interceptar las conexiones de la aplicación web a otros sistemas y, dependiendo de cómo está diseñado el código, potencialmente obtener una ejecución remota de código.
Hay avisos disponibles ahora de Apache, Red Hat, US CERT, Nginx, y Drupal y aquí hay una guía no técnica. Microsoft IIS también puede ser afectado si se ejecutan aplicaciones CGI o de terceros.
Si se desean detalles técnicos se pueden analizar las pruebas de concepto publicadas en Github.
"HTTPoxy es muy fácil de explotar en forma básica" añadió Scheirlinck.
Para llevar a cabo la mitigación se debe bloquear el uso de la cabecera Proxy en el servidor web. Parchea inmediatamente.
0 Comments:
Publicar un comentario
Gracias por dejar un comentario en Segu-Info.
Gracias por comentar!