CVE-2025-25139

7.1 HIGH

📋 TL;DR

A Cross-Site Request Forgery (CSRF) vulnerability in the WP Custom Post RSS Feed WordPress plugin allows attackers to perform stored cross-site scripting (XSS) attacks. This affects WordPress sites using the plugin version 1.0.0 or earlier. Attackers can trick authenticated administrators into executing malicious actions that inject persistent scripts.

💻 Affected Systems

Products:
  • WP Custom Post RSS Feed WordPress Plugin
Versions: n/a through 1.0.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the plugin to be installed and activated on a WordPress site. The vulnerability requires an authenticated administrator to be tricked into visiting a malicious page while logged in.

⚠️ 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 malicious JavaScript that steals administrator credentials, redirects visitors to malicious sites, or defaces the website. This could lead to complete site compromise and data theft.

🟠

Likely Case

Attackers create fake admin interfaces or forms that trick logged-in administrators into executing actions that inject malicious scripts into posts or pages, affecting site visitors.

🟢

If Mitigated

With proper CSRF tokens and input validation, the vulnerability would be prevented, limiting impact to theoretical exploitation attempts.

🌐 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 or visiting a compromised page. The CSRF leads to stored XSS payload injection.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.0.0 (check plugin repository for updates)

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/wp-custom-post-rss-feed/vulnerability/wordpress-wp-custom-post-rss-feed-plugin-1-0-0-csrf-to-stored-xss-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin dashboard. 2. Navigate to Plugins > Installed Plugins. 3. Find 'WP Custom Post RSS Feed'. 4. Click 'Update Now' if available. 5. If no update is available, deactivate and delete the plugin immediately.

🔧 Temporary Workarounds

Implement CSRF Protection Manually

WordPress

Add nonce verification to plugin forms and actions if you have development access.

Add wp_nonce_field() to forms and check with wp_verify_nonce() in processing scripts

🧯 If You Can't Patch

  • Deactivate and remove the WP Custom Post RSS Feed plugin immediately.
  • Implement a Web Application Firewall (WAF) with CSRF and XSS protection rules.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin dashboard > Plugins > Installed Plugins for 'WP Custom Post RSS Feed' version 1.0.0 or earlier.

Check Version:

wp plugin list --name='wp-custom-post-rss-feed' --field=version (if WP-CLI is installed)

Verify Fix Applied:

After update, verify the plugin version is higher than 1.0.0 in the plugins list.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to wp-admin/admin-ajax.php or plugin-specific endpoints without referrer headers
  • Multiple failed nonce verification attempts in WordPress debug logs

Network Indicators:

  • Unexpected outbound connections from your site to external domains following administrator actions

SIEM Query:

source="wordpress.log" AND ("wp-custom-post-rss-feed" OR "admin-ajax.php") AND ("CSRF" OR "nonce_failure")

🔗 References

📤 Share & Export