Ayer se publicaron, tras unos días de rumores, varias actualizaciones para evitar dos vulnerabilidades críticas de PHP, uno de los lenguajes de programación más utilizados en el desarrollo de páginas web. Las han llamado PHP2Shell (CVE-2026-109618 y CVE-2026-109619) y los investigadores las conocen desde agosto, aunque se han hecho públicas ahora. Ambas tienen una gravedad de 9,2 sobre 10, «vulnerabilidad crítica», y permiten a los atacantes ejecutar código malicioso en un servidor web sin necesidad de contraseñas ni cuentas de usuario. Vamos, que puede entrar hasta la cocina y sin llamar al timbre.
Estos fallos afectan a la gestión de la memoria de PHP. Los atacantes pueden enviar peticiones HTTP para saturar la memoria, haciendo que PHP deje datos internos mal inicializados o referencias de memoria liberada que luego se pueden manipular para hacer que el servidor ejecute ciertas instrucciones.
Con el potencial de dejar al aire la información personal, contraseñas y bases de datos que se guarden en esos servidores, también pueden modificar páginas web, instalar programas maliciosos (malware), secuestrar servidores para pedir rescates (ransomware) o dejarlos fuera de servicio. El alcance de los daños depende de los permisos de cada servidor y la versión que esté corriendo.
Esto afecta a los servidores que ejecutan versiones vulnerables de PHP, lo cual incluye sistemas de gestión de contenidos o tiendas como WordPress, Drupal, Joomla y por supuesto a aplicaciones propias desarrolladas en PHP. No hace falta que el código de la web tenga errores: la vulnerabilidad está en el propio intérprete de PHP.
La solución pasa por que los administradores de sistemas o las empresas de alojamiento actualicen PHP a las
versiones corregidas: 8.2.35, 8.3.36, 8.4.27 y 8.5.12, y luego acabar esa actualización con el ceremonioso apagar-y-encender, claro. Hay algunas versiones anteriores de PHP que, por la criticidad del asunto, también tienen parches «de emergencia», pero si no lo tienen lo más recomendable es cortar por lo sano y pasarse a una versión más moderna (8.3 y 8.2 son bastante más comunes; 8.4 y 8.5 no tanto porque son más recientes.) Eso puede requerir revisar y reescribir parte del código, aunque si está bien escrito puede que no haga falta. Para desgracia de muchos, casi el 48% de los PHP que hay corriendo por ahí son 8.1 o anteriores, de ahí que la movida sea de proporciones colosales.
La PHP Foundation ha publicado mucha más información tanto sobre las vulnerabilidades como sobre los parches. Felicidades a los agraciados y ánimos a los que tengan que currar extra en los próximos días.


