CVE-2023-50905
📋 TL;DR
This stored cross-site scripting (XSS) vulnerability in the WP Activity Log WordPress plugin allows attackers to inject malicious scripts into web pages that are then executed when viewed by other users. It affects all versions up to 4.6.1. Any WordPress site using the vulnerable plugin is at risk.
💻 Affected Systems
- Melapress WP Activity Log (formerly WP Security Audit Log)
📦 What is this software?
Wp Activity Log by Melapress
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator session cookies, perform actions as administrators, deface websites, or redirect users to malicious sites, potentially leading to complete site compromise.
Likely Case
Attackers inject malicious scripts that steal user session cookies or credentials when users view affected pages, leading to account takeover.
If Mitigated
With proper input validation and output encoding, malicious scripts would be neutralized before execution, preventing exploitation.
🎯 Exploit Status
Stored XSS vulnerabilities are commonly exploited. While no public PoC is confirmed, the vulnerability type suggests exploitation is straightforward for attackers with basic web skills.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 4.6.2 or later
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'WP Activity Log' and click 'Update Now' if available. 4. Alternatively, download version 4.6.2+ from WordPress.org and manually update via FTP.
🔧 Temporary Workarounds
Disable Plugin
allTemporarily disable the WP Activity Log plugin until patched
wp plugin deactivate wp-security-audit-log
Content Security Policy
allImplement a strict Content Security Policy header to mitigate XSS
Add to .htaccess: Header set Content-Security-Policy "default-src 'self'; script-src 'self'"
Add to nginx config: add_header Content-Security-Policy "default-src 'self'; script-src 'self'";
🧯 If You Can't Patch
- Implement web application firewall (WAF) rules to block XSS payloads
- Restrict plugin access to trusted users only using WordPress roles
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin > Plugins > Installed Plugins for WP Activity Log version. If version is 4.6.1 or lower, you are vulnerable.
Check Version:
wp plugin get wp-security-audit-log --field=version
Verify Fix Applied:
After updating, verify the plugin version shows 4.6.2 or higher in WordPress admin.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to plugin endpoints with script tags or JavaScript payloads
- Multiple failed XSS attempts in web server logs
Network Indicators:
- HTTP requests containing <script> tags or JavaScript code to plugin URLs
SIEM Query:
source="web_logs" AND (uri_path="/wp-admin/admin-ajax.php" OR uri_path CONTAINS "wp-security-audit-log") AND (http_method="POST" AND (request_body CONTAINS "<script>" OR request_body CONTAINS "javascript:"))
🔗 References
- https://patchstack.com/database/vulnerability/wp-security-audit-log/wordpress-wp-activity-log-plugin-plugin-4-6-1-cross-site-scripting-xss-vulnerability?_s_id=cve
- https://patchstack.com/database/vulnerability/wp-security-audit-log/wordpress-wp-activity-log-plugin-plugin-4-6-1-cross-site-scripting-xss-vulnerability?_s_id=cve