CVE-2025-12022

4.3 MEDIUM

📋 TL;DR

The ELEX WordPress HelpDesk plugin has an authorization vulnerability that allows authenticated users with Subscriber-level access or higher to restore all deleted tickets. This affects all WordPress sites using the plugin up to version 3.3.1. Attackers can misuse this to disrupt ticket management and potentially access sensitive ticket data.

💻 Affected Systems

Products:
  • ELEX WordPress HelpDesk & Customer Ticketing System
Versions: All versions up to and including 3.3.1
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin activated. Any authenticated user (Subscriber role or higher) can exploit this.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Malicious actors restore thousands of deleted tickets, overwhelming the helpdesk system, exposing sensitive customer data from previously deleted tickets, and causing operational disruption.

🟠

Likely Case

Low-privilege users restore some deleted tickets, causing confusion in ticket management and minor data exposure of previously deleted ticket contents.

🟢

If Mitigated

With proper access controls and monitoring, impact is limited to minor ticket management disruption with quick detection and remediation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is simple - just needs to call the vulnerable AJAX endpoint with appropriate parameters.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.3.2 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3399391/elex-helpdesk-customer-support-ticket-system/trunk/includes/class-crm-archive-ajax-functions.php

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Go to Plugins → Installed Plugins. 3. Find 'ELEX HelpDesk & Customer Support Ticket System'. 4. Click 'Update Now' if available. 5. Alternatively, download latest version from WordPress repository and replace plugin files.

🔧 Temporary Workarounds

Disable vulnerable AJAX endpoint

all

Remove or restrict access to the 'eh_crm_settings_restore_trash' AJAX endpoint

Add to theme's functions.php or custom plugin: add_filter('wp_ajax_eh_crm_settings_restore_trash', '__return_false');

Restrict user capabilities

all

Temporarily restrict Subscriber role capabilities to prevent exploitation

Use WordPress role editor plugin or add: $subscriber = get_role('subscriber'); $subscriber->remove_cap('read'); // Temporarily remove basic access

🧯 If You Can't Patch

  • Disable the ELEX HelpDesk plugin completely until patched
  • Implement strict network access controls to limit who can access the WordPress admin area

🔍 How to Verify

Check if Vulnerable:

Check plugin version in WordPress admin under Plugins → Installed Plugins. If version is 3.3.1 or lower, you are vulnerable.

Check Version:

wp plugin list --name='ELEX HelpDesk & Customer Support Ticket System' --field=version

Verify Fix Applied:

After updating, verify plugin version shows 3.3.2 or higher. Test with a Subscriber account that AJAX endpoint no longer allows ticket restoration.

📡 Detection & Monitoring

Log Indicators:

  • Multiple POST requests to /wp-admin/admin-ajax.php with action=eh_crm_settings_restore_trash
  • Unusual ticket restoration activity in helpdesk logs
  • Subscriber users performing administrative actions

Network Indicators:

  • Unusual AJAX requests from non-admin user accounts to WordPress admin endpoints

SIEM Query:

source="wordpress.log" AND "admin-ajax.php" AND "eh_crm_settings_restore_trash"

🔗 References

📤 Share & Export