
Realtyna Organic IDX plugin + WPL Real Estate < 5.3.0 - Subida de archivos arbitrarios sin autenticación que conduce a ejecución remota de código
Realtyna Organic IDX plugin + WPL Real Estate < 5.3.0 - Carga arbitraria de archivos sin autenticar que deriva en ejecución remota de código
Realtyna Organic IDX plugin + WPL Real Estate para WordPress < 5.3.0
Carga arbitraria de archivos sin autenticar mediante credenciales de API I/O hardcodeadas, lo que permite ejecución remota de código.
El plugin WPL Real Estate incluye una API I/O integrada (set_property) que está habilitada por defecto y protegida únicamente por un par de claves hardcodeadas (public_key / private_key). Estas claves son idénticas en todas las instalaciones: están incrustadas en el SQL de migración que se ejecuta durante la activación.
La API acepta cargas de archivos a través del campo multipart file[] con el prefijo image_*, pero no realiza ninguna validación del tipo de archivo subido. Un atacante no autenticado puede subir archivos .php arbitrarios, que se almacenan en una ruta predecible bajo wp-content/uploads/WPL/{pid}/, y ejecutarlos directamente a través de HTTP.
Sin autenticación de WordPress, sin nonce, sin comprobación de permisos: solo las dos cadenas hardcodeadas.
Attacker Target (WordPress + WPL ≤ 5.2.0)
│ │
│ POST / (multipart/form-data) │
│ ├─ public_key = <hardcoded> │
│ ├─ private_key = <hardcoded> │
│ ├─ cmd = set_property │
│ └─ file[] = image_Nx_abc.php │
│─────────────────────────────────────────►│
│ │ API validates keys ✓
│ │ Saves file (no type check)
│ {"success": true} │
│◄─────────────────────────────────────────│
│ │
│ GET /wp-content/uploads/WPL/{pid}/Nx_* │
│─────────────────────────────────────────►│
│ PHP executed │
│◄─────────────────────────────────────────│
| Archivo | Contenido |
|---|---|
Nx_hit/Nwpl_detect.txt | Instalaciones de WPL encontradas (modo detectar) |
Nx_hit/Nwpl_shell.txt | Subidas de shell confirmadas con URL completa y PID |
Nx_hit/Nwpl_canary.txt | Resultados de verificación canary |
python CVE-2026-13714.py
El script solicita:
> Target list: targets.txt
> Threads [1-50]: 10
> Mode [1/2/3]: 2
Formato de la lista de objetivos — un objetivo por línea:
example.com
https://site.com
http://192.168.1.10:8080
sub.domain.org/wordpress
wpl_settings)wp-content/uploads/WPL/ mediante la configuración del servidorEsta herramienta se proporciona estrictamente para pruebas de seguridad autorizadas y fines educativos. Úsela únicamente en sistemas de su propiedad o para los que tenga permiso explícito por escrito.
El acceso no autorizado a sistemas informáticos es ilegal según leyes que incluyen, entre otras, la Computer Fraud and Abuse Act (CFAA) de EE. UU., la UK Computer Misuse Act y legislación equivalente en todo el mundo.
El autor no asume ninguna responsabilidad por el mal uso. Al usar esta herramienta usted acepta toda la responsabilidad por sus acciones y se compromete a cumplir con todas las leyes y regulaciones aplicables.
Nxploited — Khaled Alenazi
Telegram: @Kxploit
| Detalle | Valor |
|---|
| CVE | CVE-2026-13714 |
| CWE | CWE-434 (Restricción inadecuada de carga de archivos con tipo peligroso) |
| Afecta | WPL Real Estate ≤ 5.2.0 |
| Corregido en | 5.3.0 |
| Autenticación requerida | Ninguna |
| CVSS 3.1 | 9.8 CRÍTICO |
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Fuente | CISA-ADP |
| Característica | Descripción |
|---|
| Detección de WPL | Sonda ?get_realtyna_platform=1 + detección de firmas HTML |
| Descubrimiento de la raíz de WordPress | Detecta automáticamente instalaciones de WP en subdirectorios (/wp, /blog, /site, etc.) |
| Explotación de claves hardcodeadas | Usa las claves API I/O predeterminadas incluidas en cada instalación de WPL |
| Carga multipart | Construye el multipart file[] que coincide exactamente con lo que espera set_property de WPL |
| Escáner de PID | Fuerza bruta de wp-content/uploads/WPL/{1..N}/ para localizar el archivo subido |
| Escaneo inverso de PID | Escanea primero los PID más recientes para una detección más rápida en sitios activos |
| Modo Canary | Carga segura de .txt para verificar el permiso de escritura sin ejecutar PHP |
| Escaneo masivo con hilos | Procesamiento concurrente con número de hilos configurable (1–50) |
| Firma Nx-zD | Las shells subidas llevan la etiqueta de verificación Nx-zD |
| Registro automático | Resultados guardados en Nx_hit/ con archivos separados por tipo de resultado |
| Modo | Qué hace |
|---|
1 — Detectar | Identifica instalaciones de WPL sin subir nada |
2 — Subir | Sube la shell Nx_*.php a través de la API I/O y verifica la ejecución |
3 — Canary | Sube Nx_*.txt (sonda segura) para confirmar solo el permiso de escritura |