CVE-2025-23567

7.1 HIGH

📋 TL;DR

This CSRF vulnerability in the Intuitive Design GDReseller WordPress plugin allows attackers to trick authenticated administrators into executing malicious actions that result in stored cross-site scripting (XSS). When exploited, it enables attackers to inject persistent malicious scripts into the WordPress site. All WordPress sites using vulnerable versions of the GDReseller plugin are affected.

💻 Affected Systems

Products:
  • Intuitive Design GDReseller WordPress Plugin
Versions: All versions up to and including 1.6
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with GDReseller plugin enabled and an authenticated administrator to be tricked into performing an action.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could compromise administrator accounts, inject malicious JavaScript that steals session cookies or credentials, deface websites, redirect users to malicious sites, or establish backdoors for persistent access.

🟠

Likely Case

Attackers would create fake admin interfaces or links that trick logged-in administrators into executing actions that inject malicious scripts, leading to session hijacking, credential theft, or website defacement.

🟢

If Mitigated

With proper CSRF protections and input validation, the attack would fail at the initial CSRF stage, preventing the XSS payload from being stored or executed.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires social engineering to trick an authenticated administrator into clicking a malicious link or visiting a crafted page.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.6

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/gdreseller/vulnerability/wordpress-gdreseller-plugin-1-6-csrf-to-stored-xss-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Locate GDReseller plugin. 4. Check for available updates. 5. Update to the latest version (above 1.6). 6. Verify the update completed successfully.

🔧 Temporary Workarounds

Implement CSRF Protection

all

Add CSRF tokens to all form submissions and state-changing actions in the plugin

Disable Vulnerable Plugin

WordPress

Temporarily disable the GDReseller plugin until patched

wp plugin deactivate gdreseller

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) headers to limit script execution
  • Use web application firewall (WAF) rules to block CSRF attempts and XSS payloads

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for GDReseller version. If version is 1.6 or lower, you are vulnerable.

Check Version:

wp plugin get gdreseller --field=version

Verify Fix Applied:

After updating, verify GDReseller plugin version is above 1.6 in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to GDReseller admin endpoints without referrer headers
  • Multiple failed CSRF token validations
  • Suspicious JavaScript injection in plugin settings

Network Indicators:

  • Cross-origin requests to GDReseller admin endpoints
  • Unexpected iframe or form submissions to plugin URLs

SIEM Query:

source="wordpress" AND (uri_path="/wp-admin/admin-ajax.php" OR uri_path CONTAINS "gdreseller") AND http_method="POST" AND (referrer="" OR referrer NOT CONTAINS domain)

🔗 References

📤 Share & Export