CVE-2024-8189
📋 TL;DR
This vulnerability allows authenticated attackers with administrator-level access to inject malicious scripts into WordPress pages via the 'wpmt_menu_name' parameter in the WP MultiTasking plugin. The scripts execute when users visit the compromised pages, enabling cross-site scripting attacks. Only WordPress multi-site installations and sites where unfiltered_html is disabled are affected.
💻 Affected Systems
- WP MultiTasking – WP Utilities WordPress plugin
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator credentials, redirect users to malicious sites, deface websites, or perform actions on behalf of authenticated users.
Likely Case
Attackers with admin access could inject tracking scripts, display malicious content, or perform limited session hijacking against site visitors.
If Mitigated
With proper input validation and output escaping, the vulnerability would be prevented entirely.
🎯 Exploit Status
Requires administrator-level access to WordPress, making exploitation more difficult but still dangerous for compromised admin accounts.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 0.1.18 or later
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3158305/
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'WP MultiTasking – WP Utilities'. 4. Click 'Update Now' if available. 5. Alternatively, download version 0.1.18+ from WordPress plugin repository and manually update.
🔧 Temporary Workarounds
Disable vulnerable plugin
allTemporarily disable the WP MultiTasking plugin until patched
wp plugin deactivate wp-multitasking
Enable unfiltered_html
allEnable unfiltered_html capability for administrators (makes vulnerability inactive per CVE description)
Add define('DISALLOW_UNFILTERED_HTML', false); to wp-config.php
🧯 If You Can't Patch
- Remove administrator access from untrusted users and implement strict access controls
- Implement web application firewall (WAF) rules to block XSS payloads in plugin parameters
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → WP MultiTasking version. If version is 0.1.17 or lower, you are vulnerable if using multi-site or unfiltered_html is disabled.
Check Version:
wp plugin get wp-multitasking --field=version
Verify Fix Applied:
Verify plugin version is 0.1.18 or higher in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to admin-ajax.php or admin pages with wpmt_menu_name parameter containing script tags
- Multiple failed login attempts followed by successful admin login
Network Indicators:
- Unexpected JavaScript loading from WordPress admin pages
- External script calls from WordPress menu pages
SIEM Query:
source="wordpress" AND (uri_path="*admin-ajax.php*" OR uri_path="*wp-admin/*") AND (param="wpmt_menu_name" OR param_contains="<script>")
🔗 References
- https://plugins.trac.wordpress.org/browser/wp-multitasking/trunk/wp-multitasking.php#L29
- https://plugins.trac.wordpress.org/browser/wp-multitasking/trunk/wp-multitasking.php#L71
- https://plugins.trac.wordpress.org/changeset/3158305/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/0c976e5a-2f6c-4632-99a7-a512b3dd38e6?source=cve