CVE-2025-23435

7.1 HIGH

📋 TL;DR

This CSRF vulnerability in the Password Protect Plugin for WordPress allows attackers to trick authenticated administrators into executing malicious actions, leading to stored cross-site scripting (XSS). Attackers can inject malicious scripts that execute in victims' browsers when they visit compromised pages. WordPress sites using vulnerable versions of this plugin are affected.

💻 Affected Systems

Products:
  • Password Protect Plugin for WordPress
Versions: n/a through 0.8.1.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations using vulnerable plugin versions are affected regardless of configuration.

⚠️ 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, hijack sessions, deface websites, or redirect users to malicious sites, potentially leading to complete site compromise.

🟠

Likely Case

Attackers create fake admin requests that inject malicious JavaScript into site content, which then executes in visitors' browsers, potentially stealing cookies or session tokens.

🟢

If Mitigated

With proper CSRF protections and content security policies, the attack would fail or have limited impact even if attempted.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires tricking authenticated administrator into clicking malicious link while logged in. No public exploit code available at time of analysis.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 0.8.1.0

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/password-protect-plugin-for-wordpress/vulnerability/wordpress-password-protect-plugin-for-wordpress-plugin-0-8-1-0-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 'Password Protect Plugin for WordPress'. 4. Click 'Update Now' if available, or delete and install latest version from WordPress repository.

🔧 Temporary Workarounds

Temporary Plugin Deactivation

WordPress

Disable the vulnerable plugin until patched version is available

wp plugin deactivate password-protect-plugin-for-wordpress

🧯 If You Can't Patch

  • Implement Content Security Policy (CSP) headers to restrict script execution
  • Use WordPress security plugins that add CSRF protection layers

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for 'Password Protect Plugin for WordPress' version 0.8.1.0 or earlier

Check Version:

wp plugin get password-protect-plugin-for-wordpress --field=version

Verify Fix Applied:

Verify plugin version is greater than 0.8.1.0 in WordPress admin plugins list

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to WordPress admin-ajax.php or admin-post.php with plugin-specific parameters
  • Multiple failed CSRF token validations in WordPress debug logs

Network Indicators:

  • Unexpected outbound connections from WordPress site to unknown domains following admin actions

SIEM Query:

source="wordpress.log" AND ("admin-ajax.php" OR "admin-post.php") AND ("password-protect" OR "ppp") AND status=200

🔗 References

📤 Share & Export