CVE-2021-34637

8.8 HIGH

📋 TL;DR

This vulnerability in the Post Index WordPress plugin allows attackers to perform Cross-Site Request Forgery (CSRF) attacks, enabling them to inject malicious scripts into the plugin's settings page. It affects WordPress sites using the plugin up to version 0.7.5, potentially compromising site integrity and user data.

💻 Affected Systems

Products:
  • Post Index WordPress plugin
Versions: Up to and including 0.7.5
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the plugin to be installed and activated on a WordPress site; no special configuration needed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could inject persistent malicious scripts, leading to site defacement, data theft, or malware distribution to visitors.

🟠

Likely Case

Attackers trick authenticated administrators into executing actions that modify plugin settings with malicious scripts, causing limited site disruption.

🟢

If Mitigated

With CSRF protections like nonce tokens, the attack is prevented, maintaining normal plugin functionality.

🌐 Internet-Facing: HIGH, as WordPress sites are typically internet-facing, making them accessible to remote attackers.
🏢 Internal Only: LOW, since the vulnerability requires targeting authenticated users, which is less likely in purely internal networks.

🎯 Exploit Status

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

Exploitation involves crafting CSRF payloads; public references and PoCs are available, making it accessible to attackers.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 0.7.5 (check for updates)

Vendor Advisory: https://plugins.trac.wordpress.org/browser/post-index/trunk/php/settings.php

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find Post Index plugin and click 'Update Now' if available. 4. Alternatively, delete and reinstall the latest version from the WordPress repository.

🔧 Temporary Workarounds

Disable Post Index Plugin

all

Temporarily deactivate the plugin to prevent exploitation until patched.

wp plugin deactivate post-index

Implement CSRF Protection

all

Add nonce verification to the plugin's settings.php file manually if skilled.

🧯 If You Can't Patch

  • Restrict access to the WordPress admin panel to trusted IP addresses only.
  • Use a web application firewall (WAF) to block CSRF attempts and script injection patterns.

🔍 How to Verify

Check if Vulnerable:

Check the plugin version in WordPress admin under Plugins > Installed Plugins; if version is 0.7.5 or lower, it is vulnerable.

Check Version:

wp plugin get post-index --field=version

Verify Fix Applied:

After updating, confirm the plugin version is above 0.7.5 and test the settings page for CSRF vulnerabilities.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin.php?page=post-index with script tags or parameters.

Network Indicators:

  • HTTP traffic containing CSRF payloads targeting the plugin's settings endpoint.

SIEM Query:

source="wordpress.log" AND (url="/wp-admin/admin.php?page=post-index" AND method="POST" AND (body CONTAINS "<script>" OR body CONTAINS "javascript:"))

🔗 References

📤 Share & Export