CVE-2025-30612

7.1 HIGH

📋 TL;DR

This CSRF vulnerability in the WordPress Replace Default Words plugin allows attackers to trick authenticated administrators into performing unintended actions, leading to stored XSS payload injection. It affects all WordPress sites using the plugin versions up to 1.3. Attackers can inject malicious scripts that execute when other users visit affected pages.

💻 Affected Systems

Products:
  • WordPress Replace Default Words plugin
Versions: n/a through 1.3
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the vulnerable plugin enabled and an authenticated administrator to be tricked into performing an action.

⚠️ 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 admin credentials, deface websites, redirect visitors to malicious sites, or install backdoors for further compromise.

🟠

Likely Case

Attackers would typically inject scripts to steal session cookies or admin credentials, potentially gaining full control of the WordPress site.

🟢

If Mitigated

With proper CSRF protections and input validation, the attack would fail at the initial CSRF stage, preventing XSS payload injection entirely.

🌐 Internet-Facing: HIGH - WordPress sites are internet-facing by nature, and this vulnerability requires only tricking an authenticated admin to visit a malicious page.
🏢 Internal Only: LOW - This primarily affects internet-facing WordPress installations; internal-only deployments would still be vulnerable if admins access malicious content.

🎯 Exploit Status

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

Exploitation requires social engineering to trick an authenticated admin, but the technical execution is straightforward once CSRF is successful.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.3 (check plugin repository for latest)

Vendor Advisory: https://patchstack.com/database/wordpress/plugin/replace-default-words/vulnerability/wordpress-replace-default-words-plugin-1-3-cross-site-request-forgery-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 'Replace Default Words' plugin. 4. Click 'Update Now' if available, or delete and install latest version from WordPress repository.

🔧 Temporary Workarounds

Disable vulnerable plugin

WordPress

Temporarily disable the Replace Default Words plugin until patched

wp plugin deactivate replace-default-words

Implement CSRF protection

WordPress

Add CSRF tokens to WordPress forms using security plugins

🧯 If You Can't Patch

  • Restrict admin access to trusted networks only
  • Implement web application firewall with CSRF and XSS protection rules

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Replace Default Words → Version. If version is 1.3 or earlier, you are vulnerable.

Check Version:

wp plugin get replace-default-words --field=version

Verify Fix Applied:

After update, verify plugin version is higher than 1.3 in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to wp-admin/admin-ajax.php or plugin-specific endpoints
  • Multiple failed CSRF token validations

Network Indicators:

  • Unexpected JavaScript injection in plugin settings or content
  • External script loads from suspicious domains

SIEM Query:

source="wordpress" AND (uri_path="/wp-admin/admin-ajax.php" OR uri_path CONTAINS "replace-default-words") AND status=200 AND user_agent NOT IN ("normal_user_agents")

🔗 References

📤 Share & Export