HTTPoxy – Anunciada vulnerabilidad de aplicaciones CGI escritas en Python, Go y PHP entre otros

En realidad esta vulnerabilidad lleva desde hace 15 años entre nosotros, haciendo acto de presencia en marzo de 2001 por primera vez. Entonces se detectó en el módulo libwww-perl y se ha ido mitigando hasta el día de hoy en sus sucesivas apariciones: curl (abril de 2001), Ruby (julio de 2012), Nginx (noviembre 2013) y Apache (febrero de 2015). Recientemente este mes se ha vuelto a detectar afectando a aplicaciones CGI escritas en Python, Go o PHP entre otros.

La bola parece haberse hecho lo suficientemente grande como para que se considere de alto impacto y gran cantidad de vendors estén tomando cartas en el asunto para mitigarla y sacar los parches correspondientes. En resumen, la vulnerabilidad permite a un atacante establecer la variable HTTP_PROXY en el servidor afectado y de esta manera redirigir las respuestas de aplicaciones CGI a un servidor malicioso. En Sophos tenéis una explicación bastante extensa y muy fácil de entender del funcionamiento de este tipo de aplicaciones y del problema de seguridad detectado.

Por el momento se ha recogido en varios CVE la vulnerabilidad correspondiente en cada plataforma:

  • 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

Sin embargo, debemos tener en cuenta que también en mayor o menor medida se ven impactados Varnish, Nginx, Lighttpd o Microsoft IIS entre otros, por lo que la lista mencionada anteriormente irá probablemente en aumento. Una nota a tener en cuenta para bien es que si las comunicaciones internas (además de las externas) del servidor se hacen con HTTPS no nos veremos afectados por HTTPoxy.

En la página web httpoxy tenéis una muy buena documentación sobre la vulnerabilidad en cuestión. Desde la explicación técnica, historial de todos estos años, de qué manera afecta a cada plataforma y los pasos a seguir para mitigarla. Próximamente se esperan parches para los sistemas afectados como Red Hat, Suse, etc… pero no está de más aplicar las soluciones documentadas en la página si estamos afectados.