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 →

Vulnerabilidad de Joomla (PHP2Shell): cómo proteger los sitios web con Joomla

PHP2Shell afecta a Joomla a través del PHP del servidor. Tras el parche y el reinicio, revise configuration.php, los template overrides, las extensiones y las cuentas de superusuario.

Actualizado 5 min de lecturaPlataformas

En resumen: la vulnerabilidad de Joomla de la que se habla ahora se llama PHP2Shell y está en el PHP del servidor, no en Joomla. Una actualización de Joomla no la cierra. Tras el parche de PHP y el reinicio, debería revisar configuration.php, los template overrides, las extensiones y la lista de superusuarios.

Qué significa PHP2Shell para Joomla

Joomla es un CMS en PHP y hereda cada debilidad del PHP que hay debajo. Según el equipo de PHP, las vulnerabilidades CVE-2026-109618 y CVE-2026-109619 permiten ejecutar código malicioso sin autenticación. Están afectados los modos de funcionamiento habituales: PHP-FPM, Apache con mod_php, php-cgi, FrankenPHP y LiteSpeed.

Precisamente los sitios Joomla más pequeños de asociaciones, talleres artesanos o federaciones suelen funcionar en hosting compartido y se mantienen poco. En ese caso, la actualización de PHP depende del proveedor de hosting. Su tarea es preguntar por el estado y revisar el sitio web en busca de rastros. Qué versiones están afectadas se muestra en ¿Qué versiones de PHP están afectadas?.

Vulnerabilidad de Joomla: comprobar la versión de PHP

En el área de administrador, Sistema > Información del sistema muestra la versión de PHP y los ajustes de PHP más importantes. Esa es la versión con la que Joomla se ejecuta realmente en la web. Las versiones corregidas de origen son 8.5.12, 8.4.27, 8.3.36 y 8.2.35. Si Joomla muestra un número más antiguo, aun así puede haberse aplicado un backport; debe confirmarlo su proveedor de hosting.

En el hosting compartido, la versión de PHP suele poder cambiarse por dominio en el menú de cliente del proveedor. Pero eso solo alterna entre las versiones que el proveedor ofrece; que estén parcheadas lo decide el proveedor. Aun así, el cambio a una versión principal más reciente puede tener sentido si su versión de Joomla y todas las extensiones la admiten. Pruébelo antes, porque las extensiones antiguas suelen fallar con mensajes de error en las versiones más recientes de PHP.

Joomla indica por sí mismo requisitos mínimos de PHP por versión principal. Qué versiones de PHP admite su versión de Joomla puede consultarlo, según los requisitos del sistema, en joomla.org. En versiones muy antiguas de Joomla, un cambio de PHP puede exigir primero una actualización de Joomla.

Escondites típicos del código malicioso en Joomla

Lugar Contenido A qué prestar atención
configuration.php Acceso a la base de datos, $secret, rutas de registros y temporales Fecha de modificación, código añadido
images/, media/ Imágenes y medios Los archivos PHP son sospechosos
tmp/ Archivos temporales, también de instalaciones Restos de paquetes ajenos
templates/<name>/html/ Template overrides con código PHP Overrides desconocidos o modificados
plugins/system/ Plugins de sistema que se cargan en cada acceso Plugins desconocidos
administrator/logs/ Registros Guardar antes de hacer cambios
.htaccess Redirecciones, reglas de reescritura Redirecciones solo para buscadores

Los plugins de sistema son especialmente apreciados porque se ejecutan en cada visita a una página. Debería poder explicar siempre cualquier plugin desconocido de esta carpeta.

Comprobaciones inofensivas en la línea de comandos (Joomla 4 y posteriores incluye su propia consola):

# Archivos PHP en las carpetas de medios y temporales
find images media tmp -type f -name "*.php"
# Listar usuarios y extensiones
php cli/joomla.php user:list
php cli/joomla.php extension:list
Importante

Si su sitio Joomla redirige a los visitantes de Google a páginas ajenas o Google muestra una advertencia, es muy probable que el servidor ya esté comprometido. Entonces no basta una actualización: hace falta una limpieza y, después, una revisión en Search Console.

Acceso de administrador y extensiones

El área de administrador está en /administrator. Revise el grupo de usuarios «Super Users» en busca de cuentas desconocidas y de cuentas de antiguos proveedores de servicios. Active la autenticación en dos pasos que incluye Joomla y utilice cuentas personales en lugar de compartidas.

En muchos sitios web abundan las extensiones del Joomla Extensions Directory y de terceros: formularios, galerías, constructores de páginas, boletines. Cada una aporta código PHP propio y, a menudo, funciones de subida propias. Las extensiones cuyo proveedor ya no entrega actualizaciones son un riesgo permanente y dificultan cualquier actualización de PHP. Desinstale por completo lo que no se use.

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

Una actualización de Joomla sustituye los archivos del núcleo y cierra vulnerabilidades conocidas en Joomla. No parchea PHP, no toca los template overrides ni las extensiones de terceros y no elimina archivos que no forman parte del núcleo. Tampoco desaparecen las entradas de la base de datos, como los nuevos superusuarios.

Si su sitio web ya ha sido modificado, ayuda el procedimiento descrito en ¿Sitio web hackeado? Ayuda de emergencia remota. Para buscar puertas traseras merece la pena la guía Reconocer y eliminar webshells.

Si su sitio Joomla fue configurado por una agencia o un freelance, pregúnteles qué extensiones y plantillas se adaptaron a medida. Los archivos adaptados no se pueden comparar sin más con el paquete original y requieren una revisión individual.

¿Cómo ayuda PHP SOS en concreto?

  • Consultamos el estado de PHP a su proveedor de hosting o lo comprobamos en su servidor, incluido el reinicio.
  • Guardamos registros, archivos y base de datos antes de cualquier cambio.
  • Comparamos el núcleo con el paquete original y revisamos overrides, plugins de sistema, carpetas de medios y superusuarios.
  • Si encontramos algo, limpiamos el sitio web, renovamos los accesos y acompañamos la eliminación de advertencias de Google.

Preguntas frecuentes

¿Está Joomla afectado por PHP2Shell?

Joomla en sí no tiene ninguna vulnerabilidad nueva, pero se ejecuta sobre PHP. Si el PHP del servidor no está parcheado, según el equipo de PHP un atacante puede ejecutar código sin autenticarse. Una actualización de Joomla no cambia nada al respecto.

¿Dónde encuentro la versión de PHP en Joomla?

En el área de administrador, en Sistema > Información del sistema. Allí también verá los ajustes de PHP. El número no permite saber si se ha aplicado un backport; eso debe confirmarlo su proveedor de hosting.

¿Por qué son un riesgo los template overrides?

Los overrides están en la carpeta de la plantilla y contienen código PHP que sustituye la salida de componentes y módulos. El código introducido apenas se nota allí, porque los overrides no se reemplazan en las actualizaciones de Joomla.

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