El 21 de octubre PHP publicó de emergencia las versiones 8.5.12, 8.4.27, 8.3.36 y 8.2.35 para corregir PHP2Shell, dos vulnerabilidades críticas que permiten ejecutar código en un servidor sin necesidad de iniciar sesión. Lo que hace este caso diferente es cómo se encontraron, con ayuda de modelos de inteligencia artificial que cualquiera puede usar.
Para darse una idea del tamaño del problema, PHP está detrás de cerca del 70% de los sitios web, empezando por WordPress, que mueve más o menos 4 de cada 10 páginas de internet (este blog incluido). El aviso oficial de PHP es muy directo, todas las instalaciones que atienden peticiones web están en riesgo y la única solución completa es actualizar. Varios gobiernos europeos, como los de España, Francia, Dinamarca, Finlandia y Países Bajos, de plano apagaron páginas y servicios públicos mientras los parchaban.
Las dos fallas tienen que ver con cómo PHP maneja los errores de memoria. Una aprovecha que, cuando a PHP se le acaba la memoria a media petición, algunos datos internos quedan a medio preparar y luego se tratan como si fueran válidos. La otra aprovecha que cierta información de una petición sobrevive después de liberarse su memoria y la siguiente petición la puede usar. El código vulnerable viene desde PHP 5.4, de 2012, así que hablamos de más de una década de versiones afectadas.
Aquí entra la IA. Los investigadores de Wiz usaron Gemini 4 Argon y GPT-5.6 Sol y lograron ejecutar código de forma remota en WordPress, Drupal y Joomla. Según ellos, un solo investigador hizo en una semana lo que antes le habría tomado meses a un equipo de primer nivel. Por su lado, Calif, como parte del programa Patch the Planet de OpenAI, amplió la lista de aplicaciones vulnerables a Magento, MediaWiki, Nextcloud, phpMyAdmin, Laravel y Symfony, entre otras.
Ojo, que la IA no hizo el trabajo sola. Ryan Austin, de Calif, partió de un error de memoria que se reportó a PHP en 2020 y que una auditoría de 2024 volvió a detectar, pero nadie había podido demostrar que se podía explotar. Él usó un modelo para provocar ese error a voluntad y revisar el código en busca de puntos débiles, y de ahí salió la segunda vulnerabilidad. Calif aclara que no usaron modelos especiales ni acceso privilegiado, sino modelos públicos guiados por alguien que conocía muy bien el historial de fallas de PHP.
Y aquí viene la parte que más me preocupa. Amazon detectó en su red de servidores trampa un intento de explotar PHP2Shell el 17 de octubre, cuatro días antes de que la vulnerabilidad se hiciera pública, y reconoce que no sabe cómo consiguió esa información el atacante. Es decir, alguien más ya la conocía.
Todo esto llega después de meses en los que las empresas de IA han puesto la ciberseguridad en el centro. Anthropic presentó Mythos dentro del Proyecto Glasswing, asegurando que encontró miles de vulnerabilidades graves en sistemas operativos y navegadores (ya les había platicado cuando Claude encontró una grieta en HAWK y AES), y OpenAI respondió con GPT-6 Astra. Las mismas herramientas que ayudan a encontrar y parchar fallas antes que los malos también están al alcance de los malos, sobre todo con los modelos abiertos, que no tienen los candados de las versiones comerciales.
Qué hacer si tienes un sitio con PHP
Si tu sitio está en un hosting compartido, lo normal es que la empresa de hosting actualice PHP por ti, pero no está de más revisar en tu panel qué versión tienes. Si administras tu propio servidor, como yo, revisa la versión con php -v y actualiza a 8.5.12, 8.4.27, 8.3.36 u 8.2.35 según tu rama. Si usas PHP 8.1 o anterior, ya no recibe parches oficiales, así que toca buscar una versión con parches de tu distribución o, mejor, subir a una versión soportada.
Un detalle que no es menor, no todas las plataformas reciben el parche al mismo tiempo. Los paquetes de algunos repositorios salen primero para PC y tardan más para ARM, como en una Raspberry Pi. Si te toca esperar, el aviso de PHP trae algunas medidas temporales, como desactivar session.upload_progress.enabled en el php.ini y reiniciar PHP-FPM. No te dejan completamente protegido, pero cierran algunos de los ataques conocidos mientras llega la actualización.
Visto en: Xataka
