CVE-2025-47517

7.1 HIGH

📋 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

Products:
  • Accept Donations with PayPal (WordPress plugin)
Versions: n/a through 1.4.5
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin activated. The plugin must be accessible to authenticated users with administrative privileges.

📦 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.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

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

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/easy-paypal-donation/vulnerability/wordpress-accept-donations-with-paypal-plugin-1-4-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 '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

all

Temporarily deactivate the vulnerable plugin until patched.

wp plugin deactivate easy-paypal-donation

Implement CSRF Protection

all

Add 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"))

🔗 References

📤 Share & Export