Múltiples vulnerabilidades de PHP 7.4 resueltas en Debian 11
Debian 11 se publicó por primera vez el 14 de agosto de 2021 con la versión 7.4 de PHP, que ya ha llegado al final de su vida útil. Esto significa que PHP 7.4 ya no recibirá actualizaciones oficiales ni correcciones de seguridad del equipo de desarrollo de PHP. Sin embargo, el equipo de seguridad de Debian proporciona correcciones para PHP 7.4 ya que Debian 11 todavía utiliza PHP 7.4 como versión por defecto. Recientemente, se han corregido múltiples vulnerabilidades de PHP 7.4 en Debian 11, que podrían dar lugar a la evasión de cookies seguras, ataques XXE o validación incorrecta de hashes de contraseñas.
Vulnerabilidades recientes de PHP 7.4 corregidas
CVE-2023-3823 (Puntuación CVSS v3: 7,5 Alto)
En PHP, varias funciones XML dependen del estado global libxml para gestionar variables de configuración, como la carga de entidades externas. Típicamente se asume que este estado permanece sin cambios a menos que sea modificado específicamente por el usuario a través de llamadas a funciones apropiadas. Sin embargo, debido a que este estado es compartido por todo el proceso, otros módulos como ImageMagick, que también utilizan la misma librería dentro del mismo proceso, pueden alterar inadvertidamente este estado global para sus propias necesidades internas. Consecuentemente, el estado global puede quedar en un estado donde la carga de entidades externas está habilitada.
Este escenario puede resultar en el análisis no intencionado de archivos XML externos con entidades externas cargadas, exponiendo potencialmente archivos locales accesibles a PHP. Esta vulnerabilidad puede persistir a través de múltiples peticiones dentro del mismo proceso hasta que el proceso se termina.
CVE-2023-3824 (Puntuación CVSS v3: 9,8 Crítico)
Cuando se carga un archivo Phar y se leen las entradas del directorio PHAR, una comprobación de longitud inadecuada podría dar lugar a un desbordamiento del búfer de pila. Esta vulnerabilidad de PHP 7.4 podría dar lugar a corrupción de memoria o ejecución remota de código (RCE).
CVE-2024-2756 (Puntuación CVSS v3: 6,5 Media)
Este problema tiene su origen en la gestión que hace PHP de los nombres de variables HTTP. Un atacante puede explotar esto estableciendo una cookie insegura estándar en el navegador de la víctima, que las aplicaciones PHP interpretan erróneamente como una __Host-
o __Secure-
cookie. Cabe señalar que esta vulnerabilidad persiste debido a una corrección incompleta de #VU67756 (CVE-2022-31629).
CVE-2024-3096 (Puntuación CVSS v3: 4,8 Media)
La vulnerabilidad surge de un error dentro de la función password_verify(), que potencialmente conduce a retornos true incorrectos. Aprovechando este fallo, un atacante remoto podría eludir los mecanismos de autenticación implementados que dependen de esta función vulnerable, obteniendo así acceso no autorizado a la aplicación web.
Medidas paliativas
A pesar de que PHP 7.4 ha llegado al final de su vida útil, Debian sigue utilizándolo como versión predeterminada de PHP. La buena noticia es que el equipo de seguridad de Debian ha solucionado las vulnerabilidades de PHP 7.4 en Debian 11 mediante la versión 7.4.33-1+deb11u5. Se recomienda encarecidamente actualizar sus paquetes PHP 7.4 a esta versión parcheada para garantizar la seguridad de su sistema.
Protección de los sistemas Linux al final de su vida útil
Estas vulnerabilidades no sólo afectan a la versión PHP 7.4, sino también a otras versiones diferentes de PHP. Estas incluyen versiones de PHP utilizadas en sistemas operativos al final de su vida útil, como CentOS (6, 7 y 8), Ubuntu 16.04, Ubuntu 18.04, CloudLinux 6 y Oracle Linux 6. Para asegurar estos sistemas, puede utilizar el Soporte de Ciclo de Vida Extendido de TuxCare que proporciona parches de seguridad durante años adicionales después del EOL. Además, estos problemas ya se han solucionado en Extended Lifecycle Support. Para obtener más información sobre las vulnerabilidades y el estado de sus parches, puede visitar cve.tuxcare.com.
TuxCare también proporciona parches de seguridad para las versiones de PHP que han llegado al final de su ciclo de vida, de modo que sus aplicaciones puedan funcionar sin problemas y de forma segura sin necesidad de refactorizaciones masivas de código. Más información sobre el soporte de ciclo de vida ampliado para PHP.
Fuente: DSA 5660-1