IDonate 2.1.5 - 2.1.9 - Missing Authorization to Authenticated (Subscriber+) Account Takeover/Privilege Escalation via idonate_donor_profile Function
Strategic Overview
- Status
- Patched in 2.1.0
- Affected Version
2.1.5 – 2.1.9- CVSS
- 8.8High
- Weakness type
- CWE-285 · Improper Authorization
- CVE
CVE-2025-4521
At a glance
CVE-2025-4521 is a high-severity Improper Authorization vulnerability in the IDonate WordPress plugin, affecting versions 2.1.5 – 2.1.9. It carries a CVSS score of 8.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires an authenticated account at Subscriber level or above. The issue is fixed in version 2.1.0; sites on affected versions should update now. Disclosed February 2026, reported by kr0d.
Vulnerability Overview
The IDonate – Blood Donation, Request And Donor Management System plugin for WordPress is vulnerable to Privilege Escalation due to a missing capability check on the idonate_donor_profile() function in versions 2.1.5 to 2.1.9. This makes it possible for authenticated attackers, with Subscriber-level access and above, to hijack any account by reassigning its email address (via the donor_id they supply) and then triggering a password reset, ultimately granting themselves full administrator privileges.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.
CWE-285: Improper Authorization
IDonate 2.1.5 – 2.1.9 carries this weakness at idonate_donor_profile(), and reaching it takes an account at Subscriber level or above. Improper authorization means a permission check exists but does not cover the case being exercised, so a caller who is allowed to do one thing is allowed to do a neighbouring thing as well.
A lower-privileged account performs an action reserved for a higher one, which on a multi-author or membership site means an ordinary user reaching administrative behaviour. For IDonate the fix is 2.1.0: builds 2.1.5 – 2.1.9 are affected, anything from 2.1.0 onward is not.
Remediation
Update to version 2.1.0, or a newer patched version
How does WordSec protect against this?
Because it turns on account access, WordSec's login security is the relevant layer: role-based two-factor, captcha and brute-force limits raise the cost of getting the account this needs. None of that substitutes for the fix: IDonate 2.1.0 closes this, and updating the plugin is the step that ends it.
- Login Security
- Alerts
External References
Related records
Other vulnerabilities in IDonate – Blood Donation, Request And Donor Management System
- 9.8CVE-2025-32519: IDonate <= 2.1.9 Local File Inclusion
CVE-2025-32519 - 6.5CVE-2025-4522: IDonate 2.0.0 - 2.1.9 IDOR
CVE-2025-4522 - 6.5CVE-2025-4523: IDonate 2.0.0 - 2.1.9 Authenticated (Subscriber+) Info
CVE-2025-4523 - 5.3CVE-2025-12877: IDonate Unauthenticated Arbitrary Post Deletion
CVE-2025-12877 - 5.3CVE-2025-11154: IDonate < 2.1.13 Missing Authorization
CVE-2025-11154 - 4.4CVE-2024-3594: IDonate – blood request management system Stored XSS
CVE-2024-3594 - 4.3CVE-2024-32110: Appsero <= 2.0.0 Missing Authorization
CVE-2024-32110
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C