CVE-2024-9546

5.3 MEDIUM

📋 TL;DR

The WPIDE plugin for WordPress discloses the full server path to unauthenticated attackers due to improper error handling in the PHP-Parser library. This information disclosure vulnerability affects all WordPress sites using WPIDE versions up to 3.4.9. While not directly damaging, the exposed path information can assist attackers in targeting other vulnerabilities.

💻 Affected Systems

Products:
  • WPIDE – File Manager & Code Editor WordPress plugin
Versions: All versions up to and including 3.4.9
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the WPIDE plugin to be installed and activated. WordPress core is not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers combine path disclosure with other vulnerabilities (like file inclusion or directory traversal) to achieve remote code execution or sensitive data exposure.

🟠

Likely Case

Attackers gather reconnaissance information about server structure to plan more sophisticated attacks against the WordPress installation.

🟢

If Mitigated

Minimal impact since path disclosure alone doesn't compromise systems, though it still provides attackers with useful reconnaissance.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

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

Simple HTTP requests can trigger the path disclosure. The vulnerability is well-documented with public proof-of-concept examples.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.5.0 and later

Vendor Advisory: https://plugins.trac.wordpress.org/browser/wpide/tags/3.5.0

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find WPIDE plugin and click 'Update Now'. 4. Verify version is 3.5.0 or higher.

🔧 Temporary Workarounds

Disable WPIDE Plugin

all

Temporarily deactivate the vulnerable plugin until patched

wp plugin deactivate wpide

Restrict Access via .htaccess

linux

Block access to PHP-Parser files that trigger the disclosure

<Files "rebuildParsers.php">
  Order Allow,Deny
  Deny from all
</Files>

🧯 If You Can't Patch

  • Disable or remove the WPIDE plugin completely from production systems
  • Implement web application firewall rules to block requests to vulnerable PHP-Parser endpoints

🔍 How to Verify

Check if Vulnerable:

Access /wp-content/plugins/wpide/vendor/nikic/php-parser/grammar/rebuildParsers.php in browser - if it returns server path information, system is vulnerable

Check Version:

wp plugin get wpide --field=version

Verify Fix Applied:

Check WPIDE plugin version in WordPress admin shows 3.5.0 or higher, and the rebuildParsers.php endpoint no longer discloses path information

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /wp-content/plugins/wpide/vendor/nikic/php-parser/grammar/rebuildParsers.php
  • Unusual number of requests to PHP-Parser library files

Network Indicators:

  • HTTP GET requests to rebuildParsers.php endpoint from unauthenticated sources

SIEM Query:

source="web_access_logs" AND uri="/wp-content/plugins/wpide/vendor/nikic/php-parser/grammar/rebuildParsers.php"

🔗 References

📤 Share & Export