Ir al contenido
La semana PHP
#154 martes 27 de octubre de 2026

Lo que PHP2Shell nos ha enseñado

¿Aún no la recibes? Cada martes a las 7:00 en tu correo, gratis.

    El martes 20 el equipo de seguridad de PHP hizo algo poco habitual: avisar con un día de antelación de que venía una publicación crítica. El miércoles 21 salieron PHP 8.5.12, 8.4.27, 8.3.36 y 8.2.35. Corrigen dos vulnerabilidades con CVSS 9.2 que permiten ejecutar código en el servidor sin autenticarse. El nombre con el que ya las conoce todo el mundo es PHP2Shell.

    Si administras servidores, lo primero es mirar qué versión tienes y actualizar. Si sigues en 8.1 o anterior, no hay parche oficial: toca migrar, y esta vez no hay excusa. Mientras lo haces, Ondřej Surý ha publicado paquetes corregidos para Debian y Ubuntu de todas las ramas, de la 5.6 a la 8.5; conservan el número de versión, así que fíate del changelog y no de php -v. El viernes 23 PHP publicó además un aviso complementario sobre session.upload_progress: recomiendan desactivarlo hasta la siguiente versión de mantenimiento para cerrar otra vía, improbable pero posible, de ejecución remota. Y el lunes 26 salieron paquetes nuevos de PHP para Windows con Brotli 1.2.1, por el fallo HTTP2Shell que se alcanza a través de cURL. Si quieres saber si alguien llegó antes que tú, hay un script de triaje de solo lectura que revisa los rastros habituales.

    Lo que más me ha llamado la atención es lo que ha pasado alrededor del parche. Amazon detectó intentos de explotación en sus honeypots el 17 de octubre, cuatro días antes de que se hiciera público. Cloudflare desplegó reglas en su WAF antes del anuncio. Y a las 48 horas ya había campañas intentando colar una variante de Mirai en servidores sin parchear. La ventana entre parche y explotación masiva ya no se mide en semanas.

    Para entender cómo se gestionó todo por dentro, Volker Dusch, de la PHP Foundation, cuenta en Laravel News cómo se encontraron y corrigieron los fallos, y qué salió mal con la filtración del embargo. La propia Fundación explica qué va a cambiar en seguridad a partir de ahora. Y Daniel Scherzer, que empujó los commits a las 6:30 de la mañana con cuatro horas de sueño, lo narra en primera persona en The PHP Podcast, que tienes en la newsletter.

    En el mundo WordPress, los sitios de WordPress.com ya estaban protegidos sin que tuvieras que hacer nada. Para el resto, el aviso en español de WordPress.org resume lo que hay que revisar.

    Lo más importante

    PHP2Shell es el nombre de las dos RCE críticas que PHP parcheó el miércoles 21. Afectan a cualquier instalación; si estás en 8.1 o anterior, no hay parche y toca migrar. El embargo se rompió, hubo intentos de explotación días antes del anuncio y a las 48 horas ya se intentaba desplegar Mirai en masa. Resumo lo imprescindible:

    PHP y Symfony

    Con el susto encima, casi se nos pasa que Symfony AI ya está en beta y que Symfony 8.2 sale en noviembre. También hay RC nueva de PHP 8.6 y dos lecturas cortas que merecen el rato.

    Laravel

    Semana tranquila en Laravel, con un paquete nuevo y un artículo sobre réplicas de lectura que resuelve un problema clásico con muy poco código.

    WordPress

    WordPress 7.2 ya tiene beta, WooCommerce cambia su integración MCP y hay una brecha en TeamUpdraft que conviene atender hoy. También Akismet cumple años y sale del ecosistema WordPress.

    Más allá de PHP

    PHP no fue el único que tuvo una mala semana: GitLab parcheó un CVSS 10 y el fallo de Brotli alcanza a Node.js, Python y .NET. Y una lectura sobre IA que va de números, no de humo.

    Para escuchar

    Si solo tienes tiempo para uno, el de The PHP Podcast: Daniel Scherzer cuenta cómo fue empujar los commits del parche a las 6:30 de la mañana.

    Nos vemos el martes.

    El #155 sale el 3 de noviembre a las 7:00.