CVE-2025-4369
📋 TL;DR
This stored XSS vulnerability in the WordPress Companion Auto Update plugin allows authenticated administrators to inject malicious scripts that execute when users view affected pages. Only WordPress multi-site installations and sites with unfiltered_html disabled are affected. Attackers can steal session cookies, redirect users, or perform actions on their behalf.
💻 Affected Systems
- WordPress Companion Auto Update plugin
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Administrator account compromise leading to full site takeover, data theft, malware distribution to visitors, and credential harvesting from all users accessing infected pages.
Likely Case
Session hijacking of logged-in users, defacement of admin pages, or redirection to malicious sites when users access pages with injected scripts.
If Mitigated
Limited impact due to requiring administrator access and specific WordPress configurations; only affects users viewing specific injected pages.
🎯 Exploit Status
Requires administrator-level access to WordPress. Exploitation is straightforward once authenticated as admin.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.9.3 or later
Vendor Advisory: https://wordpress.org/plugins/companion-auto-update/#developers
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Companion Auto Update' and click 'Update Now' if available. 4. Alternatively, download version 3.9.3+ from WordPress.org and manually update.
🔧 Temporary Workarounds
Disable plugin
allTemporarily disable the vulnerable plugin until patched
wp plugin deactivate companion-auto-update
Enable unfiltered_html
allFor single-site installations, enable unfiltered_html capability for administrators
Add define('DISALLOW_UNFILTERED_HTML', false); to wp-config.php
🧯 If You Can't Patch
- Remove administrator access from untrusted users
- Implement web application firewall with XSS protection rules
🔍 How to Verify
Check if Vulnerable:
Check plugin version in WordPress admin under Plugins → Installed Plugins. If version is 3.9.2 or lower, you are vulnerable if using multi-site OR have unfiltered_html disabled.
Check Version:
wp plugin get companion-auto-update --field=version
Verify Fix Applied:
Confirm plugin version is 3.9.3 or higher in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual administrator activity modifying plugin settings
- Suspicious JavaScript in update_delay_days parameter values
Network Indicators:
- Unexpected outbound connections from WordPress admin pages
- Suspicious script loading from admin areas
SIEM Query:
source="wordpress" AND (event="plugin_updated" AND plugin="companion-auto-update" AND version<="3.9.2") OR (event="admin_action" AND parameter="update_delay_days" AND value MATCHES "<script")
🔗 References
- https://plugins.trac.wordpress.org/browser/companion-auto-update/tags/3.9.2/admin/dashboard.php#L71
- https://plugins.trac.wordpress.org/changeset/3325878/
- https://wordpress.org/plugins/companion-auto-update/#developers
- https://www.wordfence.com/threat-intel/vulnerabilities/id/b4c61072-5480-43f3-ad9f-ed3f0d577ebc?source=cve