Los atacantes convierten una vulnerabilidad de plantillas de WordPress en ejecución remota de código en cuestión de horas
CVE-2026-87902 en WordPress permite RCE vía plantillas y pearcmd.php. Explotación activa en horas: condiciones, temas afectados y cómo protegerte.
Imagen ilustrativa generada con IA
Una vulnerabilidad crítica en la gestión de plantillas de páginas de WordPress ya está siendo explotada contra sitios web expuestos. La vulnerabilidad, identificada como CVE-2026-87902, permite a atacantes no autenticados incluir archivos PHP legibles ubicados fuera de los directorios del tema activo bajo determinadas condiciones de implementación.
La vulnerabilidad puede escalar desde la inclusión de archivos locales hasta la ejecución remota de código. Los ataques observados utilizan la utilidad PEAR pearcmd.php para escribir contenido PHP controlado por los atacantes en servidores vulnerables.
Patchstack detectó intentos de explotación pocas horas después de la divulgación pública. Según los informes, la campaña pasó del reconocimiento a los compromisos activos el 23 de septiembre, tras lo cual el tráfico de ataque aumentó hasta superar en más de diez veces su volumen inicial y se extendió a muchos más sitios web.
La resolución de plantillas escapa de los directorios del tema activo
CVE-2026-87902 es una vulnerabilidad de path traversal en la lógica que utiliza WordPress para seleccionar plantillas de páginas. Un atacante externo puede influir en get_page_template() para que resuelva una ruta hacia un archivo .php local elegido y legible, situado fuera de los directorios previstos del tema hijo o del tema padre.
El ataque no funciona contra todas las instalaciones de WordPress. Deben cumplirse varias condiciones:
- El directorio de nivel superior del tema padre o hijo activo debe comenzar por
page-. - Debe existir un archivo PHP local adecuado y la cuenta del servidor web debe poder leerlo.
- La ruta vulnerable de resolución de plantillas debe ser accesible.
- El servidor y el tema deben cumplir requisitos adicionales de WordPress para que la inclusión se lleve a cabo.
El requisito relativo al nombre del directorio explica por qué la estructura del tema es importante. Entre los temas potencialmente relevantes identificados se encuentran Twenty Twelve, Twenty Fourteen, Neve, Hestia y Sydney. Su mera presencia no demuestra que un sitio sea explotable; los administradores también deben evaluar la estructura de directorios activa, el entorno PHP, los permisos y los archivos locales disponibles.
A la vulnerabilidad se le han asignado dos registros de gravedad diferentes en los datos disponibles. SecurityWeek informa de una puntuación CVSS de 9,2, citando a WordPress y Patchstack. Un registro verificado independiente asigna una puntuación CVSS de 8,1 con el vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H.
Ambas evaluaciones reflejan consecuencias potencialmente graves para la confidencialidad, la integridad y la disponibilidad. El vector 8,1 también recoge la elevada complejidad del ataque: la explotación no requiere autenticación y es accesible a través de la red, pero depende de varias condiciones del entorno.
PEAR proporciona el puente entre la inclusión de archivos y la ejecución de código
Los ataques observados hasta ahora se dirigen contra pearcmd.php, un componente de línea de comandos asociado al sistema de gestión de paquetes PEAR de PHP. Su disponibilidad puede proporcionar a los atacantes una vía para pasar de la inclusión local de archivos PHP a la ejecución de comandos.
Cuando la opción register_argc_argv de PHP está habilitada, los datos enviados en la solicitud pueden quedar expuestos a través de variables relacionadas con los argumentos. Los atacantes pueden combinar ese comportamiento con la inclusión de pearcmd.php y abusar de la utilidad para escribir contenido PHP en el servidor. La ejecución del archivo recién creado completa la cadena de RCE.
La operación descrita consta de tres etapas:
- Los atacantes comprueban si una instalación de WordPress es vulnerable al path traversal de plantillas.
- Buscan
pearcmd.phpo intentan incluirlo. - Si se cumplen las condiciones necesarias, utilizan la funcionalidad de PEAR para crear código PHP y ejecutarlo.
Esta distinción es importante durante la respuesta a incidentes. Una solicitud que pruebe rutas de plantillas puede indicar una actividad de escaneo, mientras que la creación satisfactoria de archivos o la ejecución posterior de PHP apunta a un posible compromiso.
Según los informes, la imagen oficial de Docker de PHP se ve afectada por las condiciones ambientales pertinentes. Las configuraciones predeterminadas de cPanel también están afectadas cuando utilizan versiones de PHP anteriores a la 8.5. En ambos casos, la exposición real sigue dependiendo del tema de WordPress y de los requisitos del servidor.
El análisis público del parche parece haber acelerado la explotación
Patchstack evaluó que la codificación utilizada en las primeras cargas útiles coincidía estrechamente con el cambio de código introducido para corregir la vulnerabilidad. Esto sugiere que los atacantes estudiaron la diferencia pública del parche y la transformaron rápidamente en tráfico de explotación funcional.
No se ha identificado a ningún actor de amenazas concreto. Las primeras solicitudes se originaron en un pequeño grupo de direcciones IP, pero no se han hecho públicas direcciones, dominios, hashes de archivos, muestras de cargas útiles ni otros indicadores atómicos.
La actividad inicial se centró principalmente en localizar instalaciones vulnerables. El 23 de septiembre, Patchstack ya observaba compromisos activos, no solo labores de reconocimiento. Posteriormente, el tráfico superó en más de diez veces el volumen de la primera noche y alcanzó un conjunto de sitios considerablemente más amplio.
También hay herramientas de escaneo públicas disponibles, lo que reduce el esfuerzo necesario para identificar instalaciones con configuraciones potencialmente vulnerables. Por tanto, los defensores no pueden confiar en que el número de requisitos mantenga el problema oculto.
WordPress 7.1.2 cierra la ruta vulnerable
WordPress corrigió el problema en la versión 7.1.2 y trasladó la corrección a ramas compatibles que se remontan hasta la 4.7.x. No se dispone del número exacto de versión de cada actualización retroportada corregida.
Los administradores deben actualizar a WordPress 7.1.2 o instalar la versión corregida correspondiente a su rama actual. Los cambios de configuración pueden reducir la exposición, pero no sustituyen la aplicación del parche de WordPress.
Las comprobaciones prioritarias deben incluir:
- Identificar los temas padre e hijo activos cuyos nombres de directorio de nivel superior comiencen por
page-. - Revisar los sitios que utilicen Twenty Twelve, Twenty Fourteen, Neve, Hestia o Sydney.
- Determinar si
pearcmd.phpexiste y si la cuenta del servidor web puede leerlo. - Comprobar si
register_argc_argvestá habilitado y deshabilitarlo o restringirlo cuando sea posible desde el punto de vista operativo. - Auditar los permisos de los archivos PHP locales, incluidos los archivos situados fuera de los directorios de los temas.
- Revisar las implementaciones oficiales de Docker de PHP y los sistemas cPanel que ejecuten versiones de PHP anteriores a la 8.5.
Eliminar la exposición de PEAR o cambiar register_argc_argv puede interrumpir la cadena de explotación descrita. Estas medidas no corrigen el path traversal subyacente de las plantillas de páginas.
Los registros deben distinguir el escaneo de un compromiso efectivo
Los registros del servidor web y de WordPress deben analizarse en busca de solicitudes inusuales relacionadas con el path traversal de plantillas, intentos de resolver archivos fuera de los directorios de los temas y referencias a pearcmd.php.
Los defensores también deben buscar la secuencia descrita en la campaña observada: una prueba inicial de la vulnerabilidad, una consulta de inclusión de PEAR y una solicitud posterior que ejecute el PHP escrito recientemente. Los archivos PHP inesperados requieren una investigación inmediata, especialmente cuando su creación sigue a solicitudes sospechosas de resolución de plantillas.
Si las pruebas indican que la cadena alcanzó su etapa final, los administradores deben tratar el host como comprometido. La respuesta debe incluir la conservación de los registros pertinentes, el aislamiento del sistema afectado cuando proceda y su análisis en busca de:
- Archivos PHP escritos o modificados recientemente.
- Web shells u otros mecanismos de persistencia.
- Comandos ejecutados con los privilegios de la cuenta del servidor web.
- Acceso a secretos o credenciales de WordPress.
- Conexiones con otros servicios internos.
- Indicios de robo de credenciales o movimiento lateral.
Reinstalar únicamente un núcleo limpio de WordPress puede no eliminar los archivos creados en otras ubicaciones del host.
El estado en CISA KEV sigue siendo desconocido
No se dispone de ninguna confirmación sobre la inclusión de CVE-2026-87902 en el catálogo de Known Exploited Vulnerabilities de CISA ni sobre un plazo federal de corrección. Tampoco se ha informado de su uso en ransomware.
La ausencia de esta información en el catálogo no cambia las pruebas operativas: la explotación se observó pocas horas después de la divulgación y se informaron compromisos activos el 23 de septiembre. Los administradores deben priorizar la aplicación del parche en función de esa actividad, sin esperar a que la vulnerabilidad aparezca en KEV.
Fuentes
Este artículo es una reelaboración original basada en las siguientes fuentes.
