WordPress — Vulnerabilidad Crítica de Inclusión Local de Archivos (LFI) Conducente a RCE en el Núcleo (CVE-2026-87902)
Fecha de publicación: 22 de septiembre de 2026
Categoría: Vulnerabilidad / Seguridad Web
Introducción
El proyecto WordPress ha emitido un parche de seguridad de emergencia para solucionar una vulnerabilidad crítica presente en su software central, identificada oficialmente como CVE-2026-87902. El fallo permite que un atacante sin privilegios y sin necesidad de contar con una cuenta de usuario active la carga de archivos PHP ubicados fuera de los directorios de temas activos del sitio web. Descubierta e investigada de manera privada por el investigador Robert Ressl a través del programa de recompensas en HackerOne, esta deficiencia en el manejo de rutas pone en riesgo a una vasta cantidad de instalaciones de WordPress desplegadas a nivel mundial, abarcando todas las ramas de desarrollo soportadas desde la versión 4.7.0 hasta la 7.1.1.
¿Qué es CVE-2026-87902? (Análisis General)
La vulnerabilidad identificada como CVE-2026-87902 corresponde a una falla de Inclusión Local de Archivos (LFI, por sus siglas en inglés) que reside en la lógica de resolución de plantillas de páginas del núcleo de WordPress. Específicamente, afecta a la función get_page_template().
- Puntuación y Vector CVSS oficial (v3.1): 8.1 (HIGH) —
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H(Dato oficial verificado en NVD). - Clasificación CWE oficial: CWE-98: Improper Control of Filename for Include/Require Statement in PHP Program (“PHP Remote File Inclusion”) (Dato oficial verificado en NVD).
- Catálogo CISA KEV: No reportado en el catálogo de explotaciones conocidas a la fecha de publicación.
El componente afectado es el subsistema encargado de determinar qué plantilla de diseño debe renderizar una página solicitada mediante el navegador web. Debido a una validación insuficiente de los componentes de la URL, el sistema procesa cadenas de texto que pueden derivar en la inclusión y ejecución de archivos arbitrarios con extensión .php legibles por el servidor web, siempre que se cumplan determinadas precondiciones estructurales y de configuración en el entorno de alojamiento.
¿Cómo funciona? (Análisis Técnico)
El vector de ataque se materializa aprovechando deficiencias en la sanitización de entradas dentro del flujo de resolución de plantillas de WordPress.
- Flujo de entrada y fallo de validación: El mecanismo de resolución construye nombres de archivos empleando fragmentos extraídos directamente de la dirección web solicitada (la URL). En las versiones vulnerables, este valor no se somete rigurosamente a las comprobaciones de pasos de recorrido de directorios (
../) de la misma manera que el código circundante ya lo hacía para otros contextos. Como resultado, el parámetro de ruta se concatena en la estructurapage-{value}.php. - Precondiciones físicas del tema: Para que la construcción del nombre de archivo resulte funcional en un ataque, el tema activo instalado en el sitio web debe poseer obligatoriamente una carpeta en su directorio raíz cuyo nombre comience con el prefijo
page-, y el archivo objetivo dentro del servidor debe terminar con la extensión.php. Si bien los temas modernos predeterminados de WordPress no cumplen con esta característica, diversos temas de terceros o versiones clásicas heredadas sí disponen de esta estructura de directorios. - Transición de LFI a Ejecución Remota de Código (RCE): La carga inicial de un archivo local de PHP ejecuta el código estático que este contenga de manera nativa. Sin embargo, para escalar este comportamiento hacia una ejecución de código arbitrario controlado por el atacante, se requiere una segunda condición en el entorno del servidor: que la aplicación PHP esté configurada con la directiva
register_argc_argvhabilitada. Esta directiva permite procesar argumentos de línea de comandos pasados a través de solicitudes HTTP, técnica comúnmente aprovechada para inyectar y ejecutar payloads maliciosos bajo los privilegios del usuario asignado al servidor web (por ejemplo,www-data).
Sistemas / Entornos Afectados
El fallo impacta a todas las ramas principales del núcleo de WordPress desarrolladas desde hace años, afectando instalaciones que no hayan aplicado el parche correctivo correspondiente a su rama de mantenimiento.
| Versión Afectada | Rama del Sistema | Versión de Actualización Requerida |
|---|---|---|
4.7.0 hasta 7.1.1 | Múltiples ramas históricas | Parche específico backportado (ej. 7.1.2, 7.0.6, etc.) |
7.1.0 - 7.1.1 | Rama 7.1.x | 7.1.2 |
7.0.0 - 7.0.5 | Rama 7.0.x | 7.0.6 |
6.9.0 - 6.9.8 | Rama 6.9.x | 6.9.9 |
6.8.0 - 6.8.9 | Rama 6.8.x | 6.8.10 |
6.7.0 - 6.7.8 | Rama 6.7.x | 6.7.9 |
6.6.0 - 6.6.8 | Rama 6.6.x | 6.6.9 |
- Perfiles de riesgo: Sitios web que utilicen temas heredados o personalizados que incluyan directorios raíz con el prefijo
page-, y cuyos servidores ejecuten versiones de PHP con configuraciones predeterminadas antiguas donderegister_argc_argvpermanezca activada.
Mitigación y Detección
Remediación
- Actualización prioritaria: La única solución definitiva y robusta es aplicar la actualización del núcleo de WordPress. Los administradores deben actualizar inmediatamente a la versión correspondiente según su rama (por ejemplo, los usuarios de la rama 7.1.x deben actualizar a la versión
7.1.2). - Mitigación temporal de entorno: Como medida de contingencia para entornos que no puedan parchear de inmediato, se recomienda desactivar la directiva
register_argc_argven el archivo de configuración de PHP (php.ini) y remover componentes PEAR no utilizados, limitando así las vías de escalada hacia la ejecución de código.
Detección
Los equipos de seguridad defensiva deben monitorear los registros de acceso y error de los servidores web en búsqueda de patrones maliciosos orientados a la manipulación de parámetros de plantillas y secuencias de escape de directorios.
Nota de Inteligencia Defensiva: Las peticiones HTTP dirigidas a la resolución de plantillas que incluyan caracteres de transmutación de directorios (
../) combinados con prefijos de carpetas del tema activo deben considerarse intentos activos de explotación de la vulnerabilidad CVE-2026-87902.
- Monitoreo de Logs de Servidor (Ejemplo de regla analítica en SIEM / Grep):bash
# Búsqueda de patrones sospechosos de path traversal y llamadas a templates en logs HTTP cat /var/log/apache2/access.log | grep -E "page-.*\.php" | grep "\.\./"
Recapitulando
La revelación y pronta corrección de la vulnerabilidad CVE-2026-87902 subrayan la complejidad latente en la gestión de componentes lógicos heredados dentro de sistemas de gestión de contenido maduros como WordPress. Si bien la explotación de este fallo hacia la ejecución remota de código exige condiciones específicas en el entorno de alojamiento —como la directiva register_argc_argv activa y una estructura particular de carpetas en el tema—, el hecho de que requiera cero autenticación convierte al parche inmediato en una prioridad crítica para los administradores de sistemas web y equipos de respuesta a incidentes en todo el mundo.
Referencias
- The Hacker News. (2026, septiembre 22). WordPress Issues Patch for Critical Flaw That Can Enable Code Execution on Some Servers. The Hacker News
- WordPress.org. (2026, septiembre 22). WordPress 7.1.2 Security Release. WordPress News
- WordPress Developers. (2026). GitHub Security Advisory: GHSA-7hp8-65ch-5whp (CVE-2026-87902). GitHub Advisories
- WordPress.org. (2026). Documentation: WordPress Version 7.1.2 Release Notes. WordPress Documentation
- Patchstack. (2026). WordPress 7.1.2 Security Release: Unauthenticated LFI to RCE Analysis. Patchstack Research
- Ressl, R. (2026). Technical Write-up and Analysis of CVE-2026-87902 in WordPress. Ressl.ch Blog
