Se ha descubierto una vulnerabilidad del tipo Stack Overflow que afecta a diversas versiones de PHP. La vulnerabilidad ha sido confirmada por el equipo de PHP y ya existe una solución al respecto. La vulnerabilidad afecta a la función file_get_contents() y permite que un atacante pueda desbordar el stack. De acuerdo a la información publicada, […]
Se ha descubierto una vulnerabilidad del tipo Stack Overflow que afecta a diversas versiones de PHP. La vulnerabilidad ha sido confirmada por el equipo de PHP y ya existe una solución al respecto.
La vulnerabilidad afecta a la función file_get_contents() y permite que un atacante pueda desbordar el stack.
De acuerdo a la información publicada, el CVE-2018-7584 afecta a las versiones 5.6.33, 7.0.x antes de 7.0.28, de 7.1.x a 7.1.14 y de 7.2.x a 7.2.2, es decir, las versiones que no son vulnerables son las 7.2.3 y 5.6.34.
La vulnerabilidad se produce debido a un problema de validación del contenido que se obtiene mediante la función afectada. Esta función permite leer contenido desde un archivo local o bien desde una URI, dejando abierta la posibilidad de realizar un ataque remoto.
El desbordamiento se produce al momento leer el contenido al cual se hace referencia al momento de llamar a la función, específicamente el problema se encuentra en el archivo ext/standard/http_fopen_wrapper.c.
¿Cómo podría afectarnos esta vulnerabilidad?
La función file_get_contents() se utiliza generalmente para realizar llamadas a URL externas, las cuales deben ser debidamente protegidas y validadas. Para que un atacante pueda aprovecharse de esta vulnerabilidad, es necesario que pueda modificar el contenido que estamos intentando leer, por este motivo, se debe tener especial cuidado cuando se utiliza esta función utilizando argumentos que pueden ser modificados por un usuario. Por ejemplo:
file_get_contents("http://".$_GET['url']);
En este caso, un atacante podría modificar el valor de “url” y forzar a que el sistema llame a una URL especialmente preparada y provocar del desbordamiento de la pila.
file_get_contents("http://domain.tld/untrusted.resource");
En este otro ejemplo, se está llamando a una fuente que no es de confianza, la cual podría ser modificada por un atacante para incrustar el contenido malicioso y así provocar el desbordamiento de la pila.
Los dos ejemplos descritos anteriormente, permiten a un atacante explotar la vulnerabilidad de forma remota.
¿Cómo debemos protegernos?
En un principio, siempre se recomienda actualizar y aplicar los parches de seguridad, sin embargo, los que llevamos mucho tiempo trabajando en estos temas, sabemos que existen muchos casos donde simplemente no se puede actualizar. Para esto, se recomienda lo siguiente:
Link: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7584
Link: https://bugs.php.net/bug.php?id=75981
Desde hace unos meses, los principales navegadores web han declarado la guerra a los sitios web que no utilizan HTTPS. En un principio alertaban a los usuarios mostrando un mensaje en el campo inseguro cuando existia un campo de tipo password o tarjeta de crédito dentro de un formilario sin HTTPS, posteriormente mostraban la alerta […]
El pasado 30 de marzo se cortó el cable submarino ACE (Africa coast to Europe), el cual es el responsable de la transmisión de internet desde Europa al oeste de África. Esto significó que Mauritania se quedó sin conexión por 48 horas. Otros países cercanos resultaron con problemas parciales para ingresar a la red.