La vulnerabilidad HTTPoxy afecta a aplicaciones CGI escritas en PHP, Python y Go
Aunque cuando creamos una aplicación solemos utilizar lenguajes de programación modernos, a menudo solemos recurrir a ciertas librerías de código abierto de manera que podamos aprovechar código ya escrito para ahorrar tiempo al programar determinadas funciones. Sin embargo, la tecnología y los vectores de ataque han cambiado mucho en los últimos años, por lo que cada poco aparecen vulnerabilidades en estas antiguas y utilizadas librerías, como lo fue Heartbleed, y, en esta ocasión HTTPoxy, que pueden comprometer seriamente una gran parte de Internet y que obligan a los desarrolladores a actualizar lo antes posible sus plataformas.
Recientemente ha reaparecido una vulnerabilidad que afecta a un gran número de plataformas y aplicaciones web, que ha sido denominada como HTTPoxy. Esta vulnerabilidad fue detectada por primera vez hace ya más de 15 años y, en su día, comprometió numerosas bibliotecas de código, especialmente aquellas que realizan peticiones HTTP dentro de una aplicación, de manera que todas las conexiones podían ser espiadas, e incluso modificadas, por piratas informáticos. A pesar de tener 15 años, esta vulnerabilidad sigue dando guerra a los desarrolladores, y es que ha vuelto a aparecer de nuevo en un gran número de aplicaciones basadas en CGI y escritas en PHP, Python y Go.
Esta vulnerabilidad se remonta a marzo de 2001, cuando un investigador de seguridad, llamado Randal L. Schwartz, descubrió que el módulo libwww-perl procesaba incorrectamente las cabeceras HTTP_PROXY. En los siguientes meses, este fallo empezó a aparecer también en otras plataformas como curl (2001), Ruby (2012), NginX (2013) y, en esta ocasión, en PHP, Python y Go.
Un atacante que quiera explotar esta vulnerabilidad puede forzar a las aplicaciones CGI vulnerables a enviar todos sus paquetes HTTP a un proxy intermedio, controlados por los piratas informáticos, utilizado para llevar a cabo ataques MITM.
Mitigar la vulnerabilidad HTTPoxy es sencillo, por lo que la solución no debería tardar en llegar
Las vulnerabilidades detectadas se han registrado con los códigos CVE-2016-5385 para PHP, CVE-2016-5386 para GO, CVE-2016-5387 para Apache HTTP Server, CVE-2016-5388 para Apache Tomcat, CVE-2016-1000109 para HHVM y CVE-2016-1000110 para Python.
Los expertos de seguridad recomiendan a todos los desarrolladores comprobar que sus plataformas son seguras desde la página web principal de la vulnerabilidad. Si no se han visto afectados por HTTPoxy, entonces no tienen nada de qué preocuparse, sin embargo, en caso de sí estar afectado, deberían aplicar las medidas de mitigación lo antes posible para evitar que un pirata informático comprometa sus servidores. En la web anterior podemos ver la forma de mitigar estos ataques informáticos, al menos hasta que se actualicen las dependencias solucionándolo.
Los usuarios convencionales, no desarrolladores, tampoco tienen nada que hacer, salvo esperar a que los desarrolladores responsables de la plataforma lo solucionen, ya sea mediante la mitigación de la web oficial de HTTPoxy como actualizando las librerías.
¿Crees que utilizar librerías antiguas es una de las principales causas de la aparición de vulnerabilidades?
Quizá te interese:
- VENOM, un fallo de seguridad más peligroso que Heartbleed que compromete millones de servidores
- Dos fallos de seguridad en OpenSSL exponen la seguridad de las conexiones