CVE-2024-53776

7.1 HIGH

📋 TL;DR

This CSRF vulnerability in the Donate Me WordPress plugin allows attackers to trick authenticated administrators into performing actions that inject malicious scripts. When exploited, it leads to stored cross-site scripting (XSS), affecting all WordPress sites using vulnerable versions of the plugin.

💻 Affected Systems

Products:
  • Donate Me WordPress Plugin
Versions: n/a through 1.2.5
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the Donate Me plugin enabled and an authenticated administrator to trigger the CSRF.

⚠️ 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 inject persistent malicious scripts that steal administrator credentials, deface websites, or redirect visitors to malicious sites, potentially compromising the entire WordPress installation.

🟠

Likely Case

Attackers create fake donation forms or modify plugin settings to inject malicious JavaScript that steals session cookies or performs unauthorized actions when administrators view affected pages.

🟢

If Mitigated

With proper CSRF protections and input validation, the vulnerability would be prevented from being exploited, maintaining normal plugin functionality.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 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 while logged into WordPress.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.2.5

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/donate-me/vulnerability/wordpress-donate-me-plugin-1-2-5-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. Find 'Donate Me' and click 'Update Now' if available. 4. If no update is available, deactivate and delete the plugin, then install the latest version from WordPress repository.

🔧 Temporary Workarounds

Implement CSRF Tokens

all

Add CSRF protection tokens to all form submissions and AJAX requests in the plugin code.

Input Validation and Sanitization

all

Implement strict input validation and output encoding for all user-controllable data processed by the plugin.

🧯 If You Can't Patch

  • Deactivate and remove the Donate Me plugin immediately
  • Implement web application firewall (WAF) rules to block CSRF attempts and XSS payloads

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for Donate Me version. If version is 1.2.5 or earlier, you are vulnerable.

Check Version:

wp plugin list --name=donate-me --field=version

Verify Fix Applied:

After updating, verify the Donate Me plugin version is higher than 1.2.5 in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to wp-admin/admin-ajax.php with donation-related parameters
  • Multiple failed CSRF token validations in WordPress debug logs

Network Indicators:

  • Unexpected iframe or form submissions to donation endpoints from external domains
  • JavaScript injection patterns in HTTP requests

SIEM Query:

source="wordpress" AND (uri_path="/wp-admin/admin-ajax.php" AND (param_name="action" AND param_value LIKE "%donate%") AND NOT referer CONTAINS own_domain)

🔗 References

📤 Share & Export