CVE-2025-4519

8.8 HIGH

📋 TL;DR

This vulnerability allows authenticated WordPress users with Subscriber-level access or higher to reset passwords for any user account, including administrators. Attackers can exploit this to gain administrative privileges and take full control of affected WordPress sites. Sites using IDonate plugin versions 2.1.5 through 2.1.9 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: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with IDonate plugin enabled. Any authenticated user (Subscriber role or higher) can exploit this vulnerability.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

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

🟠

Likely Case

Attackers gain administrative privileges and compromise the WordPress installation, potentially leading to data theft, malware injection, or site defacement.

🟢

If Mitigated

With proper access controls and monitoring, impact is limited to temporary disruption until the vulnerability is patched and compromised accounts are secured.

🌐 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 plugin version shows 2.1.10 or higher.

🔧 Temporary Workarounds

Disable IDonate Plugin

all

Temporarily deactivate the vulnerable plugin until patched

wp plugin deactivate idonate

Restrict User Registration

all

Disable new user registration to prevent attackers from creating accounts

wp option update users_can_register 0

🧯 If You Can't Patch

  • Implement strict access controls and monitor for unusual password reset activity
  • Regularly audit user accounts and remove any suspicious or unnecessary accounts

🔍 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, verify IDonate plugin shows version 2.1.10 or higher in WordPress admin

📡 Detection & Monitoring

Log Indicators:

  • Unusual password reset requests, especially for administrative accounts
  • Multiple failed login attempts followed by successful password reset

Network Indicators:

  • HTTP POST requests to WordPress admin-ajax.php or admin-post.php with idonate_donor_password action

SIEM Query:

source="wordpress.log" AND ("password reset" OR "idonate_donor_password")

🔗 References

📤 Share & Export