Mastodon Mastodon Mastodon Mastodon

CVE-2026-87902: vulnerabilidad de inclusión de archivos locales en WordPress: a quién afecta y cómo protegerse

Foto del autor

CyberSecureFox Editorial Team

Publicado:

El 22 de septiembre de 2026, WordPress publicó una actualización de emergencia 7.1.2, que corrige la vulnerabilidad crítica CVE-2026-87902 (CVSS 9.2) en el núcleo de la plataforma. La vulnerabilidad permite que un atacante no autenticado obligue a WordPress a incluir un archivo PHP local arbitrario fuera de los directorios del tema activo. Si se cumplen condiciones adicionales en el lado del servidor y del tema, esto puede conducir a una ejecución remota de código (RCE). Se ven afectadas todas las versiones desde la 4.7.0 hasta la 7.1.1: los administradores de sitios en WordPress deben actualizar de inmediato.

Esencia técnica de la vulnerabilidad

La vulnerabilidad está clasificada como CWE-98, es decir, control incorrecto del nombre de archivo en una operación de inclusión de PHP. El problema reside en la función get_page_template(), responsable de seleccionar el archivo de plantilla de página. Una parte del nombre de archivo se genera a partir de un componente de la URL y, en las versiones vulnerables, WordPress no aplicaba a este valor una comprobación frente al salto de directorios (path traversal mediante ../), aunque el código adyacente sí utilizaba ya dicha comprobación.

Dado que el nombre del archivo se construye según la plantilla page-{valor}.php, para que la explotación tenga éxito es necesario que se cumplan dos precondiciones, indicadas en el aviso de seguridad oficial:

  • El tema activo (principal o secundario) contiene un directorio de nivel superior cuyo nombre empieza por page- (por ejemplo, page-templates). Esta condición se cumple en los temas estándar obsoletos Twenty Twelve y Twenty Fourteen, así como en una serie de temas de terceros populares, como Neve, Hestia y Sydney.
  • En el servidor existe un archivo PHP de destino legible que el servidor web pueda incluir.

Es importante entender la estructura de impacto en dos niveles. La mera inclusión de un archivo local (LFI) es el primer nivel: el atacante puede obligar a WordPress a cargar un archivo PHP que ya está presente en el servidor. El segundo nivel —el paso de LFI a un RCE completo— requiere condiciones adicionales. Según el aviso de seguridad, una de las rutas conocidas hacia RCE utiliza el archivo pearcmd.php del paquete PEAR y depende del ajuste de PHP register_argc_argv, que está activado por defecto en versiones antiguas de PHP, pero desactivado a partir de PHP 8.5. La ausencia de pearcmd.php o la desactivación de register_argc_argv bloquean este camino concreto hacia RCE, pero no eliminan la vulnerabilidad básica de inclusión de archivos.

Versiones afectadas y correcciones

La vulnerabilidad afecta a todas las ramas de WordPress desde la 4.7.0 hasta la 7.1.1 inclusive. Esto significa que incluso los sitios que se actualizaron a la versión 7.1.1 (publicada el 17 de septiembre) siguen siendo vulnerables: CVE-2026-87902 constituye un problema distinto de los que se corrigieron en ese lanzamiento.

La corrección está disponible en WordPress 7.1.2 y también se ha retroportado a todas las ramas compatibles hasta la 4.7.37. La lista completa de versiones corregidas por rama se ha publicado en las notas de la versión.

Estado de explotación: disparidad en los datos

La situación en torno al estado de explotación no es unívoca. Las primeras publicaciones afirmaban que, a fecha de 22 de septiembre, no existían ni un exploit PoC público ni indicios de uso de la vulnerabilidad en ataques. Sin embargo, el repositorio público del investigador Robert Ressl (Robert Ressl), que descubrió la vulnerabilidad, contiene código PoC con una nota de verificación en condiciones de laboratorio precisamente el 22 de septiembre, el mismo día en que se publicó el parche. El propio repositorio aclara expresamente que el PoC reproduce una configuración concreta y no pretende evaluar la prevalencia de instalaciones vulnerables.

En cuanto a los informes sobre una explotación activa en condiciones reales, se basan en la telemetría de empresas externas y no están confirmados por fuentes primarias independientes. En el momento de preparar este material, la vulnerabilidad no se ha incluido en el catálogo CISA Known Exploited Vulnerabilities. No obstante, la existencia de un PoC público y la relativa sencillez de explotación (no se requiere autenticación) convierten la actualización rápida en algo de importancia crítica.

Anteriormente ya analizamos un problema similar en el ecosistema de WordPress: la instalación forzada de temas mediante un enlace, donde el vector de ataque también estaba relacionado con la manipulación de componentes de temas.

Evaluación del impacto

La magnitud del impacto potencial viene determinada por dos factores. Por un lado, WordPress es el CMS más extendido del mundo y la vulnerabilidad afecta a versiones de varios años. Por otro, la explotabilidad práctica está limitada por un conjunto de precondiciones: no todos los temas contienen un directorio page-*, no en todos los servidores existe un archivo PHP adecuado para ser incluido y no toda configuración de PHP permite la transición a RCE.

Están especialmente expuestos los sitios que utilizan temas estándar antiguos de WordPress o temas de terceros populares con un directorio page-templates, que funcionan en servidores con versiones obsoletas de PHP (donde register_argc_argv está activado por defecto) y que tienen instalado PEAR.

Recomendaciones

WordPress recomienda una actualización inmediata y no ofrece medidas alternativas de mitigación: la actualización es la única corrección. Pasos concretos:

  • Actualice WordPress a la versión 7.1.2 (o a la versión corregida correspondiente de su rama: 7.0.6, 6.9.9, 6.8.10, etc.) desde el panel de control (Actualizaciones → Actualizar ahora) o descargando la versión desde WordPress.org. Los sitios con actualizaciones automáticas en segundo plano activadas recibirán el parche automáticamente.
  • Compruebe el tema activo para ver si contiene un directorio de nivel superior cuyo nombre empiece por page-. Esto no es una corrección, pero sí un indicador del grado de exposición.
  • Revise el ajusteregister_argc_argv en la configuración de PHP. Si está activado, es un factor de riesgo adicional para el paso de LFI a RCE.
  • Realice una auditoría en busca de indicios de actividad sospechosa, en particular peticiones atípicas a las plantillas de página e intentos de salto de directorios en las URL.

La vulnerabilidad CVE-2026-87902 combina la ausencia de requisitos de autenticación con un amplio rango de versiones afectadas y la existencia de un PoC público. Incluso con una explotabilidad condicionada, la única acción realmente fiable es actualizar a WordPress 7.1.2 o a la versión corregida correspondiente de su rama, y hacerlo en cuestión de horas, no de días.


CyberSecureFox Editorial Team

El equipo editorial de CyberSecureFox cubre noticias de ciberseguridad, vulnerabilidades, campañas de malware, actividad de ransomware, AI security, cloud security y security advisories de proveedores. Los materiales se preparan a partir de official advisories, datos de CVE/NVD, alertas de CISA, publicaciones de proveedores e informes públicos de investigadores. Los artículos se revisan antes de su publicación y se actualizan cuando aparece nueva información.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.