CVE-2025-4521

8.8 HIGH

📋 TL;DR

This vulnerability in the IDonate WordPress plugin allows authenticated attackers with Subscriber-level access or higher to escalate privileges to administrator by hijacking any account. Attackers can reassign email addresses to donor accounts they control, then trigger password resets to gain full administrative control. WordPress sites running vulnerable plugin versions are affected.

💻 Affected Systems

Products:
  • IDonate – Blood Donation, Request And Donor Management System WordPress plugin
Versions: 2.1.5 to 2.1.9
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin enabled and at least one user account with Subscriber role or higher.

⚠️ 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

Complete site takeover where attackers gain administrator privileges, install backdoors, steal sensitive donor data, deface the site, or use it for further attacks.

🟠

Likely Case

Attackers gain administrator access to compromise the WordPress site, potentially accessing sensitive donor information and using the site for malicious purposes.

🟢

If Mitigated

Limited impact if proper access controls, monitoring, and network segmentation are in place to detect and contain privilege escalation attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is straightforward once an attacker has any valid WordPress user account.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.1.10

Vendor Advisory: https://wordpress.org/plugins/idonate/#developers

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find IDonate plugin and click 'Update Now'. 4. Verify version shows 2.1.10 or higher.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily deactivate the IDonate plugin until patched

wp plugin deactivate idonate

Restrict user registration

all

Disable new user registration to prevent attackers from creating accounts

🧯 If You Can't Patch

  • Implement strict access controls and monitor for suspicious user role changes
  • Use web application firewall rules to block requests to vulnerable plugin endpoints

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Installed Plugins, find IDonate and verify version is between 2.1.5 and 2.1.9

Check Version:

wp plugin get idonate --field=version

Verify Fix Applied:

After updating, confirm IDonate plugin version shows 2.1.10 or higher in WordPress admin

📡 Detection & Monitoring

Log Indicators:

  • Unusual user role changes from Subscriber to Administrator
  • Multiple password reset requests for different accounts
  • Access to /wp-admin/admin-ajax.php with idonate_donor_profile action

Network Indicators:

  • POST requests to admin-ajax.php with donor_id parameter manipulation

SIEM Query:

source="wordpress.log" AND ("role changed" OR "password reset" OR "idonate_donor_profile")

🔗 References

📤 Share & Export