CVE-2025-4521

IDonate 2.1.5 - 2.1.9 - Missing Authorization to Authenticated (Subscriber+) Account Takeover/Privilege Escalation via idonate_donor_profile Function

2026-02-18 16:32
kr0d

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
View all IDonate – Blood Donation, Request And Donor Management System vulnerabilities

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

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C