Programación y vibe coding
Comprobar con un agente si tu web PHP sigue expuesta a PHP2Shell
PHP corrigió el 21 oct 2026 dos fallos críticos que permiten ejecutar código en el servidor sin autenticarse. Hay que subir a 8.5.12, 8.4.27, 8.3.36 o 8.2.35. OpenAI publicó php2shell-checker, dos skills para que un agente compruebe la versión por URL o en el servidor. Sin prueba propia.
| Herramientas | Claude Code (principal)Cursor |
|---|---|
| Qué necesitas |
|
| Coste aprox. | El repositorio es gratis (licencia Apache-2.0) y el script funciona con Node.js sin agente. Si usas un agente, pagas el plan o el modelo que ya tengas. Actualizar PHP puede tener coste si lo hace tu hosting o un técnico. |
| Tiempo de montaje | 15 min (primera vez) |
| Nivel | Media |
| Plan gratis | Puede bastar para pruebas |
Prompt listo para usar
Quiero saber si mis webs siguen expuestas a PHP2Shell (CVE-2026-109618 y CVE-2026-109619). 1. Lee las instrucciones del repositorio https://github.com/openai/php2shell-checker y sigue la que encaje: [TIPO DE ACCESO]. 2. Revisa estas webs o servidores, una por una: [LISTA DE WEBS]. 3. Para cada una dime el resultado (OK, VULNERABLE o UNKNOWN), la versión de PHP detectada y de dónde la has sacado. 4. Si sale VULNERABLE o UNKNOWN, dime a qué versión hay que subir según el aviso de php.net y qué le pido a mi proveedor: [HOSTING O PROVEEDOR]. 5. No actualices nada, no reinicies servicios y no pruebes ningún exploit. Solo lee y me informas.
| Variable | Qué poner | Ejemplo |
|---|---|---|
[TIPO DE ACCESO] | Si solo tienes la URL o si el agente puede entrar en el servidor | solo tengo la URL |
[LISTA DE WEBS] | Las direcciones o servidores que quieres revisar | https://mitienda.es, https://blog.mitienda.es |
[HOSTING O PROVEEDOR] | Quién gestiona tu servidor o tu PHP | hosting compartido de mi agencia |
Pégalo en: Claude Code, Cursor
Prompt propio. El repositorio documenta la instalación en Codex; en otros agentes no está documentado y lo que hace es leer los mismos SKILL.md. No se ha ejecutado aquí.
Cómo funciona
- Mira el aviso oficial de PHP. El aviso de php.net del 21 oct 2026 explica los dos fallos y las versiones que los corrigen: 8.5.12, 8.4.27, 8.3.36 y 8.2.35. PHP 8.1 y anteriores ya no reciben actualizaciones del proyecto.
- Instala los dos skills en tu agente. En Codex basta pedirle que instale los dos skills desde github.com/openai/php2shell-checker con su instalador de skills. Uno sirve cuando solo tienes la URL y el otro cuando tienes acceso al servidor.
- Si solo tienes la URL. Usa el skill phpcheck-url con la dirección de tu web. Lanza una petición HEAD y lee las cabeceras X-Powered-By y Server, donde muchas webs dejan ver su versión de PHP.
- Si tienes acceso al servidor. Usa el skill phpcheck-server para que mire la versión de PHP que sirve tu web con php -v. Es más fiable que las cabeceras, que se pueden ocultar o cambiar.
- Sin agente, desde la terminal. Clona el repositorio y ejecuta node phpcheck.js seguido de la URL, o node phpcheck.js --local para el PHP de tu máquina. Con --json obtienes la salida en un formato que puedes guardar o pasar a otra herramienta.
- Lee bien el resultado. OK significa que la versión está por encima del corte de su rama, no que el parche esté verificado. VULNERABLE es una versión igual o inferior al corte. UNKNOWN sale cuando no se ve la versión, y no quiere decir que estés a salvo.
- Actualiza o pide el parche. Con VULNERABLE o UNKNOWN, sube a una versión corregida o pide a tu hosting el paquete parcheado. Algunas distribuciones aplican el arreglo sin cambiar el número de versión: confírmalo en el aviso de tu proveedor.
Qué resultado esperar
Una lista de tus webs o servidores con OK, VULNERABLE o UNKNOWN, la versión detectada y el siguiente paso para cada una. La comprobación por URL tarda segundos; actualizar depende de tu hosting.
- Qué se hizo
- Tras el aviso de PHP del 21 oct 2026, OpenAI publicó un repositorio con dos skills y un script para saber si una web o un servidor siguen en una versión afectada.
- Cómo fue
- El skill de URL lee las cabeceras de la web y el de servidor mira php -v. Los dos comparan la versión con el corte de cada rama y devuelven OK, VULNERABLE o UNKNOWN.
- A tener en cuenta
- Es una comprobación de versión, no una auditoría. UNKNOWN no significa que estés a salvo. Sin prueba propia todavía.
Límites y precauciones
- El script solo compara versiones. No comprueba si el parche está aplicado de verdad, como avisa su propio README.
- Si la web oculta su versión de PHP, el resultado es UNKNOWN y tendrás que preguntar a quien gestiona el servidor.
- Las distribuciones con parches propios pueden mostrar un número de versión antiguo aunque ya estén corregidas.
- Los skills están documentados para Codex. Con otros agentes de código funcionará o no según cómo lean el repositorio.
- Sin prueba propia todavía.
- Revisa solo webs y servidores tuyos o que gestionas con permiso.
- No descargues ni pruebes exploits para confirmar el fallo. Basta con la versión y el aviso oficial.
- Si das al agente acceso al servidor, que lea y te informe. Actualizar PHP en producción es otro paso, con copia de seguridad.
Variantes
- claude-code: Caso real en X: David Fernández (@naroh) cuenta que su agente hizo la mayor parte del parcheo de 60 proyectos con tres ramas de PHP 8 en menos de dos horas. Es su relato, sin más detalle del método.
Fuente: el aviso de seguridad de php.net del 21 oct 2026 y el repositorio php2shell-checker de OpenAI, con licencia Apache-2.0 y 569 estrellas en GitHub al consultarlo el 22 oct. OpenAI lo anunció en un post en X que superaba 1.1M visualizaciones y 5.3K guardados en un día. Sin prueba propia todavía.
«All PHP users are strongly encouraged to update immediately.» (Se recomienda encarecidamente a todos los usuarios de PHP actualizar ya.) El equipo de PHP, en su aviso oficial.
Los dos fallos (CVE-2026-109618 y CVE-2026-109619) permiten ejecutar código en el servidor con una petición, sin usuario ni contraseña. Afectan a cualquier PHP que sirva webs, incluidos PHP-FPM, Apache con mod_php, php-cgi, FrankenPHP y LiteSpeed. El aviso dice que el riesgo es mayor con mod_php. La solución completa es actualizar a 8.5.12, 8.4.27, 8.3.36 o 8.2.35.
El problema de muchos negocios es saber qué PHP tienen. Actualizar WordPress, PrestaShop o tu tema no toca el PHP del servidor. Ahí entra el repositorio de OpenAI: dos skills para tu agente de código. Si solo tienes la dirección de la web, el agente lee las cabeceras que devuelve. Si tienes acceso al servidor, mira la versión directamente. En los dos casos te contesta con OK, VULNERABLE o UNKNOWN. Y si no usas agentes, el mismo repositorio trae un script de Node.js que haces correr con una línea.
Ojo con leer el resultado al pie de la letra. OK solo dice que el número de versión es posterior al corte, no que el arreglo esté aplicado. UNKNOWN sale cuando la web esconde su versión, y el propio README insiste en que eso no significa que estés a salvo. Además, las distribuciones de Linux que aplican parches propios pueden mantener un número antiguo con el fallo ya corregido. Con cualquier duda, el aviso de tu proveedor manda.
En español lo explicó Maximiliano Firtman en su post en X. Y David Fernández contó en el suyo que su agente hizo la mayor parte del parcheo de 60 proyectos en menos de dos horas. Es su relato: no detalla el método.
Si quieres ir más allá de la versión y revisar el código de tu web, mira la auditoría de seguridad con agentes. Si es tu primer agente en la terminal, empieza por programar con un agente de código. Más sobre la herramienta en la ficha de Claude Code.
Preguntas frecuentes
¿Lo habéis probado?
No. Sin prueba propia todavía. La ficha resume el aviso de php.net y el README del repositorio de OpenAI. El prompt es propio y no se ha ejecutado aquí.
Tengo WordPress actualizado, ¿estoy a salvo?
No necesariamente. Actualizar WordPress no cambia la versión de PHP del servidor. Lo que hay que mirar es el PHP que ejecuta la web y, si no lo controlas tú, preguntar a tu hosting.
¿Qué significa UNKNOWN?
Que el script no ha podido ver la versión, normalmente porque la web la oculta. No es una buena noticia ni una mala: tienes que confirmarlo con quien gestiona el servidor.
¿Necesito Codex?
No. El repositorio incluye un script de Node.js que puedes lanzar a mano. Los skills están documentados para Codex; con otros agentes de código puedes pedirles que sigan el repositorio, aunque no está documentado.
¿Y si uso PHP 8.1 o anterior?
El proyecto PHP ya no publica actualizaciones para esas versiones. Algunas distribuciones y proveedores de soporte largo sí tienen arreglos, así que pregunta al tuyo o sube a una versión con soporte.
Telegram. Suscríbete al canal de Telegram para no perderte nada y estar al loro de todo lo nuevo en automatización y agentes de IA.Unirme al canal