CVE-2025-31778

6.5 MEDIUM

📋 TL;DR

This Cross-site Scripting (XSS) vulnerability in the WordPress Donate Me plugin allows attackers to inject malicious scripts into web pages viewed by other users. It affects all WordPress sites using Donate Me plugin versions up to 1.2.5. The vulnerability is reflected XSS, meaning the malicious input is immediately returned in the server's response.

💻 Affected Systems

Products:
  • WordPress Donate Me plugin
Versions: n/a through 1.2.5
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with the Donate Me plugin installed and activated.

⚠️ 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 steal administrator session cookies, take over WordPress admin accounts, deface websites, or redirect users to malicious sites, potentially leading to complete site compromise.

🟠

Likely Case

Attackers typically use this to steal user session cookies, perform actions on behalf of users, or deliver malware through the compromised WordPress site.

🟢

If Mitigated

With proper input validation and output encoding, the malicious scripts would be neutralized before reaching users, preventing any exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

XSS vulnerabilities are commonly exploited and require minimal technical skill. The vulnerability is reflected, making exploitation straightforward.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.2.6 or later

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/donate-me/vulnerability/wordpress-donate-me-plugin-1-2-5-stored-cross-site-scripting-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'. 4. Alternatively, download version 1.2.6+ from WordPress.org and manually replace the plugin files.

🔧 Temporary Workarounds

Disable Donate Me Plugin

all

Temporarily deactivate the vulnerable plugin until patching is possible.

wp plugin deactivate donate-me

Implement WAF Rules

all

Configure web application firewall to block XSS payloads targeting Donate Me endpoints.

🧯 If You Can't Patch

  • Disable the Donate Me plugin immediately to eliminate the attack surface.
  • Implement strict Content Security Policy (CSP) headers to mitigate XSS impact.

🔍 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 get donate-me --field=version

Verify Fix Applied:

After updating, verify Donate Me plugin shows version 1.2.6 or higher in WordPress plugins list.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST/GET requests to Donate Me endpoints containing script tags or JavaScript code
  • Multiple failed login attempts following suspicious requests

Network Indicators:

  • HTTP requests containing <script> tags or JavaScript payloads in parameters
  • Unexpected redirects from Donate Me pages

SIEM Query:

source="wordpress.log" AND ("donate-me" OR "donate_me") AND ("<script>" OR "javascript:" OR "onerror=" OR "onload=")

🔗 References

📤 Share & Export