
Realtyna Organic IDX plugin + WPL Real Estate < 5.3.0 - Caricamento arbitrario di file non autenticato per esecuzione di codice in remoto
Plugin Realtyna Organic IDX + WPL Real Estate < 5.3.0 - Caricamento arbitrario di file non autenticato che consente l'esecuzione di codice remoto
Plugin Realtyna Organic IDX + WPL Real Estate per WordPress < 5.3.0
Caricamento arbitrario di file non autenticato tramite credenziali I/O API hardcoded, che porta all'esecuzione di codice remoto.
Il plugin WPL Real Estate include un'API I/O integrata (set_property) che è attiva per impostazione predefinita e protetta solo da una coppia di chiavi hardcoded (public_key / private_key). Queste chiavi sono identiche in tutte le installazioni — sono incorporate nel SQL di migrazione eseguito durante l'attivazione.
L'API accetta il caricamento di file tramite il campo multipart file[] con il prefisso image_*, ma non esegue alcuna validazione sul tipo di file caricato. Un attaccante non autenticato può caricare file .php arbitrari, che vengono salvati in un percorso prevedibile sotto wp-content/uploads/WPL/{pid}/, ed eseguirli direttamente via HTTP.
Nessuna autenticazione WordPress, nessun nonce, nessun controllo dei permessi: solo le due stringhe hardcoded.
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 │
│◄─────────────────────────────────────────│
| File | Contenuto |
|---|---|
Nx_hit/Nwpl_detect.txt | Installazioni WPL trovate (modalità rilevamento) |
Nx_hit/Nwpl_shell.txt | Caricamenti shell confermati con URL completo e PID |
Nx_hit/Nwpl_canary.txt | Risultati della verifica canary |
python CVE-2026-13714.py
Lo script richiede:
> Target list: targets.txt
> Threads [1-50]: 10
> Mode [1/2/3]: 2
Formato della lista dei target — un target per riga:
example.com
https://site.com
http://192.168.1.10:8080
sub.domain.org/wordpress
wpl_settings)wp-content/uploads/WPL/ tramite la configurazione del serverQuesto strumento è fornito esclusivamente per test di sicurezza autorizzati e scopi didattici. Utilizzalo solo su sistemi di tua proprietà o per i quali disponi di un'esplicita autorizzazione scritta al test.
L'accesso non autorizzato a sistemi informatici è illegale ai sensi di leggi che includono, ma non si limitano a, il Computer Fraud and Abuse Act (CFAA), il Computer Misuse Act del Regno Unito e la legislazione equivalente a livello mondiale.
L'autore non si assume alcuna responsabilità per un uso improprio. Utilizzando questo strumento accetti la piena responsabilità delle tue azioni e accetti di rispettare tutte le leggi e i regolamenti applicabili.
Nxploited — Khaled Alenazi
Telegram: @Kxploit
| Dettaglio | Valore |
|---|
| CVE | CVE-2026-13714 |
| CWE | CWE-434 (Caricamento senza restrizioni di file con tipo pericoloso) |
| Versioni interessate | WPL Real Estate ≤ 5.2.0 |
| Risolto in | 5.3.0 |
| Autenticazione richiesta | Nessuna |
| CVSS 3.1 | 9.8 CRITICO |
| Vettore | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Fonte | CISA-ADP |
| Caratteristica | Descrizione |
|---|
| Fingerprinting WPL | Sonda ?get_realtyna_platform=1 + rilevamento della firma HTML |
| Individuazione della Radice WordPress | Rileva automaticamente le installazioni WP nelle sottodirectory (/wp, /blog, /site, ecc.) |
| Sfruttamento delle Chiavi Hardcoded | Utilizza le chiavi I/O API predefinite distribuite con ogni installazione WPL |
| Caricamento Multipart | Costruisce il multipart file[] corrispondente esattamente alle aspettative di set_property di WPL |
| Scansione PID | Esegue brute force su wp-content/uploads/WPL/{1..N}/ per individuare il file caricato |
| Scansione PID Inversa | Scansiona prima i PID più recenti per una scoperta più rapida sui siti attivi |
| Modalità Canary | Caricamento sicuro di file .txt per verificare l'accesso in scrittura senza eseguire PHP |
| Scansione Massiva Multithread | Elaborazione concorrente con numero di thread configurabile (1–50) |
| Firma Nx-zD | Le shell caricate portano il tag di verifica Nx-zD |
| Registrazione Automatica | Risultati salvati in Nx_hit/ con file separati per ogni tipo di risultato |
| Modalità | Cosa Fa |
|---|
1 — Rilevamento | Esegue il fingerprinting delle installazioni WPL senza caricare nulla |
2 — Caricamento | Carica la shell Nx_*.php tramite l'API I/O e verifica l'esecuzione |
3 — Canary | Carica Nx_*.txt (sonda sicura) per confermare solo l'accesso in scrittura |