Situación actual: PHP2Shell. Dos vulnerabilidades críticas de PHP (CVSS 9.2) permiten ejecutar código malicioso sin autenticación. Parches desde el 21/10/2026.Qué hacer ahora →

Seguridad en Contao tras PHP2Shell: cómo proteger bien los sitios web

Contao se ejecuta sobre PHP y Symfony. Tras PHP2Shell importan el parche de PHP para la web y la línea de comandos, un Contao Manager protegido y una mirada a files y templates.

Actualizado 5 min de lecturaPlataformas

En resumen: con PHP2Shell, la seguridad en Contao depende del PHP del servidor, no de Contao. Asegúrese de que estén parcheados tanto el PHP web como el PHP de línea de comandos del Contao Manager. Después, revise .env, las plantillas propias, la carpeta files y los accesos al backend y al Manager.

Contao y PHP2Shell: de qué se trata

Contao es un CMS muy extendido en el ámbito de habla alemana que, desde la versión 4, se basa en el framework Symfony. Según el equipo de PHP, las vulnerabilidades de PHP CVE-2026-109618 y CVE-2026-109619 permiten ejecutar código malicioso de forma remota y sin autenticación. Afectan a PHP en sí, y por tanto también a toda instalación de Contao en un servidor sin parchear.

Muchos sitios Contao pertenecen a pymes, asociaciones y municipios y los atienden agencias. Por eso, aclare primero quién es responsable de PHP: el proveedor de hosting, la agencia o su propio departamento de TI.

Un error frecuente se refiere al modo de mantenimiento. Contao puede bloquear un sitio web para los visitantes, pero ese bloqueo lo sirve el propio PHP. Cada petición sigue llegando, pues, al intérprete de PHP. Por eso el modo de mantenimiento no protege frente a PHP2Shell. Cuando el BSI (Oficina Federal alemana para la Seguridad de la Información) recomienda desconectar de la red los servidores web hasta la actualización, se refiere a un bloqueo a nivel de servidor o de hosting, no a un ajuste en el CMS.

La seguridad en Contao empieza con dos versiones de PHP

Contao usa PHP de dos maneras. El servidor web atiende las visitas a las páginas, normalmente mediante PHP-FPM. El Contao Manager y la consola de Contao trabajan además con un PHP de línea de comandos, por ejemplo para instalaciones, actualizaciones y cron jobs. En paquetes de hosting con varias versiones de PHP, pueden ser dos programas distintos.

El Contao Manager muestra en su configuración del servidor qué archivo de programa PHP utiliza. La versión web la ve en el panel de hosting. Las versiones corregidas de origen son 8.5.12, 8.4.27, 8.3.36 y 8.2.35; los backports pueden llevar números más antiguos. Ambas vías deben estar parcheadas y todos los procesos reiniciados. Qué versiones de PHP admite su versión de Contao puede consultarlo, según los requisitos del sistema, en contao.org. Encontrará más sobre la comprobación en Cómo comprobar correctamente la versión de PHP y el nivel de parcheo.

Directorios y archivos en Contao

Lugar Contenido Punto de control
.env, .env.local Acceso a la base de datos, APP_SECRET Renovar ante una sospecha
config/config.yaml Configuración de la instalación Cambios inesperados
public/ (versiones antiguas web/) Raíz de documentos con index.php, archivo del Contao Manager, assets Archivos PHP adicionales
files/ Gestor de archivos de los redactores Sin archivos PHP
templates/ Plantillas propias, clásicamente como .html5 con PHP Plantillas desconocidas o modificadas
system/config/localconfig.php Ajustes antiguos Código añadido
var/ Caché y registros Guardar los registros, regenerar la caché

Precisamente templates/ se subestima: las plantillas clásicas de Contao con la extensión .html5 son archivos PHP. Una instrucción introducida en una plantilla propia se ejecuta en cada visita a una página y sobrevive a las actualizaciones de Contao.

Primeras comprobaciones inofensivas:

# Archivos PHP en el gestor de archivos
find files -type f -name "*.php"
# Plantillas modificadas desde el 17/10/2026
find templates -type f -newermt "2026-10-17"
# Comprobar los comandos de Contao disponibles y las dependencias
vendor/bin/contao-console list contao
composer audit
Importante

El Contao Manager puede instalar paquetes y, con ello, llevar cualquier código al servidor. Ante una sospecha, revise sus cuentas de usuario, asigne contraseñas nuevas y elimine los accesos de antiguos proveedores de servicios.

Backend, Manager y extensiones

El backend está en /contao. Revise los usuarios con derechos de administrador y los grupos de usuarios con permisos amplios, por ejemplo sobre el gestor de archivos, las plantillas o la gestión de usuarios. Contao incluye autenticación en dos pasos; utilícela para todas las cuentas con derechos elevados.

Las extensiones se instalan mediante Composer o a través del Contao Manager. Cada una aporta código PHP, y las extensiones antiguas sin mantenimiento frenan las actualizaciones de PHP. En servidores con varios sitios web, cada instalación debería funcionar por separado para que un incidente no afecte a los sitios vecinos; encontrará más información en open_basedir y aislamiento por sitio web.

Lo que puede y no puede hacer una actualización de Contao

Una actualización de Contao mediante el Manager o Composer cierra errores conocidos en Contao y en las extensiones. No parchea PHP y no reinicia ni PHP-FPM ni los procesos en segundo plano. Las plantillas propias, los archivos de files/ y las cuentas de usuario ajenas permanecen sin cambios. Tras un cambio de versión principal de PHP, debería regenerarse la caché y comprobarse el sitio web en un entorno de pruebas.

En los sitios web con muchos redactores merece la pena, tras el parche, revisar los permisos del backend. Quien puede editar plantillas puede depositar código PHP en las plantillas clásicas .html5. Este permiso debe estar solo en manos de pocas personas con conocimientos técnicos. Lo mismo vale para el acceso al gestor de archivos con derechos de subida a carpetas accesibles públicamente.

¿Cómo ayuda PHP SOS en concreto?

  • Determinamos el PHP web y el PHP de CLI de su instalación de Contao y hacemos que se confirmen el parche y el reinicio.
  • Guardamos registros, archivos y base de datos antes de cambiar nada.
  • Revisamos plantillas, files/, la raíz de documentos y las cuentas del backend y del Manager.
  • Si lo desea, nuestro servicio de parcheo de PHP se encarga del cambio de PHP con su justificante, coordinado con su agencia.

Preguntas frecuentes

¿Está Contao afectado por PHP2Shell?

Contao en sí no tiene ninguna vulnerabilidad nueva. Pero si el sitio web funciona sobre un PHP sin parchear, es vulnerable como cualquier aplicación PHP. Una actualización de Contao no cierra la vulnerabilidad de PHP.

¿Por qué es relevante para la seguridad el Contao Manager?

El Contao Manager puede instalar, actualizar y eliminar paquetes. Quien tenga acceso a él puede introducir cualquier código. Por eso el acceso requiere una contraseña robusta y pocas personas autorizadas.

¿Contienen código PHP las plantillas de Contao?

Las plantillas clásicas con la extensión .html5 son plantillas PHP. Por tanto, las plantillas propias de la carpeta templates pueden contener PHP. Debería poder explicar cualquier plantilla desconocida o modificada recientemente.

Fuentes

Contacto inmediato

Cada hora cuenta. Escríbanos ahora.

Describa brevemente el sistema, la versión de PHP y lo que ha observado. Nos pondremos en contacto, aclararemos la situación y trabajaremos en remoto hasta que el incidente quede cerrado y documentado.

Ayuda inmediata