CVE-2025-47517
📋 TL;DR
A Cross-Site Request Forgery (CSRF) vulnerability in the Accept Donations with PayPal WordPress plugin allows attackers to inject malicious scripts that become stored XSS. This affects WordPress sites using the plugin from any version up to 1.4.5. Attackers can trick authenticated administrators into executing actions that inject persistent malicious code.
💻 Affected Systems
- Accept Donations with PayPal (WordPress plugin)
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers could inject persistent malicious scripts that steal administrator credentials, deface websites, redirect visitors to malicious sites, or install backdoors for complete site compromise.
Likely Case
Attackers create fake donation forms or modify existing ones to steal payment information, inject malicious ads, or redirect users to phishing pages.
If Mitigated
With proper CSRF tokens and input validation, the vulnerability would be prevented, limiting impact to failed exploitation attempts.
🎯 Exploit Status
Exploitation requires tricking an authenticated administrator into clicking a malicious link or visiting a compromised page. The CSRF leads to stored XSS payload injection.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.4.6 or later
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Accept Donations with PayPal'. 4. Click 'Update Now' if available. 5. Alternatively, download version 1.4.6+ from WordPress repository and replace the plugin files.
🔧 Temporary Workarounds
Disable Plugin
allTemporarily deactivate the vulnerable plugin until patched.
wp plugin deactivate easy-paypal-donation
Implement CSRF Protection
allAdd custom CSRF tokens to plugin forms via WordPress hooks or security plugins.
🧯 If You Can't Patch
- Restrict plugin access to trusted administrators only and monitor for suspicious activity.
- Use a web application firewall (WAF) to block CSRF and XSS payloads targeting the plugin endpoints.
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Installed Plugins for 'Accept Donations with PayPal' version. If version is 1.4.5 or earlier, it is vulnerable.
Check Version:
wp plugin get easy-paypal-donation --field=version
Verify Fix Applied:
After update, verify plugin version is 1.4.6 or later in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to /wp-admin/admin-ajax.php or plugin-specific endpoints from unexpected sources.
- Administrative actions (plugin edits, form updates) without corresponding user sessions in logs.
Network Indicators:
- HTTP requests containing suspicious script tags or encoded payloads in donation form parameters.
- Outbound connections to unknown domains following plugin administrative actions.
SIEM Query:
source="wordpress.log" AND (uri_path="/wp-admin/admin-ajax.php" OR uri_path CONTAINS "easy-paypal-donation") AND (http_method="POST" AND (user_agent="malicious" OR referrer="suspicious-domain.com"))