CVE-2024-49633
📋 TL;DR
This vulnerability allows attackers to inject malicious scripts into DirectoryPress WordPress plugin pages, which execute in victims' browsers when they visit manipulated URLs. It affects all DirectoryPress installations from unknown versions through 3.6.19. Attackers can steal session cookies, redirect users, or perform actions on their behalf.
💻 Affected Systems
- DirectoryPress WordPress Plugin
📦 What is this software?
Directorypress by Designinvento
⚠️ Risk & Real-World Impact
Worst Case
Attackers steal administrator session cookies, gain administrative access to WordPress, install backdoors, deface websites, or pivot to internal networks.
Likely Case
Attackers steal user session cookies, redirect visitors to phishing sites, or perform limited actions within DirectoryPress functionality.
If Mitigated
Script execution is blocked by CSP headers or browser XSS filters, limiting impact to failed exploitation attempts.
🎯 Exploit Status
Exploitation requires user interaction (clicking malicious link) and knowledge of vulnerable parameters. No public exploit code available.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Version after 3.6.19
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find DirectoryPress plugin. 4. Click 'Update Now' if update available. 5. If no update available, manually download latest version from WordPress repository and replace plugin files.
🔧 Temporary Workarounds
Input Sanitization Filter
allAdd custom input sanitization for DirectoryPress parameters
Add to theme's functions.php: add_filter('directorypress_input_parameters', 'sanitize_text_field');
Content Security Policy
allImplement CSP headers to block inline script execution
Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Or add to wp-config.php: header("Content-Security-Policy: default-src 'self'; script-src 'self'");
🧯 If You Can't Patch
- Disable DirectoryPress plugin temporarily
- Implement WAF rules to block XSS patterns in DirectoryPress parameters
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin > Plugins > DirectoryPress > Version. If version is 3.6.19 or earlier, system is vulnerable.
Check Version:
wp plugin list --name=directorypress --field=version
Verify Fix Applied:
After update, verify DirectoryPress version is higher than 3.6.19 in WordPress plugins page.
📡 Detection & Monitoring
Log Indicators:
- Unusual GET/POST parameters containing script tags in DirectoryPress URLs
- Multiple failed XSS attempts in web server logs
Network Indicators:
- HTTP requests with script tags in DirectoryPress parameter values
- Unusual redirects from DirectoryPress pages
SIEM Query:
source="web_logs" AND (url="*directorypress*" AND (param="*<script>*" OR param="*javascript:*"))