Las aplicaciones desarrolladas hace años pueden seguir funcionando perfectamente, pero eso no significa que estén preparadas para las amenazas actuales.

Octubre dejó dos avisos importantes para quienes administran sitios web basados en PHP y WordPress. El primero fue la divulgación de vulnerabilidades críticas en PHP, conocidas como PHP2Shell. El segundo llegó con WordPress 7.1.4, una actualización de seguridad que corrigió múltiples problemas.

Ambos acontecimientos dejan una pregunta importante: ¿sabemos realmente qué versiones de software están ejecutando nuestros sitios?

## PHP2Shell: cuando el problema está debajo de la aplicación

El 23 de octubre, CERT-EU actualizó su aviso sobre vulnerabilidades críticas de PHP.

Dos de ellas, CVE-2026-109618 y CVE-2026-109619, tienen una puntuación CVSS de 9.2 y pueden permitir ejecución remota de código sin autenticación.

El problema no se limita a una versión concreta de WordPress o a un framework. Afecta instalaciones PHP que procesan solicitudes web, incluyendo PHP-FPM, Apache con mod_php, php-cgi, FrankenPHP y LiteSpeed.

Las versiones corregidas son:

- PHP 8.5.12

- PHP 8.4.27

- PHP 8.3.36

- PHP 8.2.35

El aviso también incorpora CVE-2026-115560, otra vulnerabilidad de ejecución remota de código asociada a configuraciones poco habituales. Su tratamiento debe revisarse por separado.

## WordPress también necesita atención

El 28 de octubre se publicó WordPress 7.1.4, una actualización de seguridad que corrige múltiples problemas, entre ellos una debilidad que podía permitir ejecución remota de código durante el proceso de actualización y varias vulnerabilidades de XSS almacenado.

No alcanza con mantener actualizado el núcleo de WordPress. Los plugins y temas también forman parte de la superficie de ataque.

## Checklist para endurecer una instalación heredada

**1. Identificar las versiones reales**

No alcanza con consultar la versión PHP desde un panel de hosting. Hay que comprobar qué versión utiliza cada aplicación, proceso PHP-FPM, contenedor y entorno de ejecución.

**2. Mantener PHP en una rama soportada**

Actualizar a una versión corregida y planificar la salida de ramas antiguas. PHP 8.2 tiene soporte de seguridad hasta diciembre de 2026; PHP 8.1 y anteriores ya no reciben actualizaciones oficiales.

**3. Actualizar WordPress y sus extensiones**

Mantener el núcleo, plugins y temas al día. Eliminar aquellos que ya no se utilizan.

**4. Reducir privilegios**

No todos los usuarios necesitan permisos de administración. Aplicar el principio de mínimo privilegio y habilitar autenticación multifactor.

**5. Limitar la escritura de archivos**

Revisar permisos del sistema de archivos y evitar que el servidor web pueda modificar archivos que no necesita modificar.

**6. Deshabilitar el editor de código del administrador**

Cuando no sea necesario, utilizar `DISALLOW_FILE_EDIT` en `wp-config.php`.

**7. Proteger archivos de configuración**

Evitar que archivos con credenciales o información sensible puedan descargarse desde Internet. Restringir el acceso a `wp-config.php` y a los archivos de entorno.

**8. Tener copias de seguridad verificadas**

Una copia de seguridad que nunca se probó restaurando no es una estrategia de recuperación completa.

**9. Revisar los registros**

Investigar accesos administrativos, errores inusuales, modificaciones de archivos y actividad sospechosa.

**10. No depender exclusivamente de un firewall**

Un WAF puede ayudar a filtrar solicitudes maliciosas, pero no sustituye las actualizaciones de seguridad.

## La seguridad no termina con una actualización

Una aplicación heredada puede tener múltiples componentes: PHP, servidor web, base de datos, plugins, librerías y servicios externos.

Actualizar uno de ellos no garantiza que todo el entorno esté protegido.

La mejor estrategia consiste en mantener un inventario, conocer las dependencias y establecer un proceso periódico de revisión.

La pregunta no debería ser solamente si nuestro sitio está funcionando, sino si sabemos qué está ejecutando y durante cuánto tiempo podemos seguir confiando en ello.

**Referencias:** CERT-EU, PHP Security Advisory y WordPress 7.1.4.