PHP2Shell (CVE-2026-109618 y CVE-2026-109619) y el aviso posterior CVE-2026-115560 obligan a revisar todos los servidores PHP. Este es el checklist que uso para WordPress, Moodle y Laravel, de lo más rápido a lo más completo.
1. Inventario: dónde corre PHP
- Servidores propios (VPS, Lightsail, EC2), hosting compartido, contenedores e imágenes base.
- Entornos de staging y demos: suelen ser los más olvidados y los más expuestos.
- Herramientas internas: paneles, phpMyAdmin, scripts cron.
2. Versión real en ejecución
La versión de la línea de comandos no siempre coincide con la de la web.
- CLI:
php -v - FPM:
php-fpm -vosystemctl status php*-fpm - Web: una página temporal con
phpversion()(bórrala después) o la herramienta de estado de WordPress / Moodle.
Versiones seguras: 8.5.12, 8.4.27, 8.3.36 y 8.2.35 o superiores.
3. Actualizar según el entorno
- Ubuntu/Debian:
apt update & & apt install --only-upgrade 'php8.*'y reinicia FPM o Apache. - Docker: actualiza la etiqueta de la imagen base, reconstruye y vuelve a desplegar. Un
docker restartno basta. - Hosting compartido (Hostinger, cPanel, Plesk): comprueba en el panel qué versión exacta sirve tu dominio; si el proveedor aún no ha actualizado, abre un ticket.
- Laravel Forge, Elastic Beanstalk y similares: ya han publicado plataformas actualizadas; aplícalas.
4. Endurecer mientras tanto
session. upload_progress. enabled = 0en php. ini y en cada pool FPM. Cubre CVE-2026-115560 y reduce superficie, aunque no sustituye al parche.- Revisa
memory_limitypost_max_size: límites razonables, no ilimitados. - Activa reglas del WAF para PHP2Shell si usas Cloudflare, ModSecurity o un WAF gestionado.
5. Comprobar que no te han comprometido
- Busca ficheros PHP nuevos o modificados recientemente en directorios de subida y caché.
- Revisa los logs en busca de picos de peticiones POST multipart y errores de memoria desde el 17 de octubre.
- En WordPress, compara el núcleo con
wp core verify-checksums. - Si encuentras algo raro: aísla, rota credenciales (base de datos, SMTP, claves API) y restaura desde una copia limpia.
6. Reiniciar y verificar
Tras actualizar, reinicia todos los procesos PHP y vuelve a comprobar la versión desde la web. Es el paso que más se olvida.
Si gestionas varios campus Moodle o WordPress y quieres una segunda opinión, escríbeme.