CVE-2025-11877
📋 TL;DR
The User Activity Log WordPress plugin up to version 2.2 contains an unauthenticated vulnerability that allows attackers to modify critical WordPress site options. Attackers can reopen user registration or corrupt user roles, potentially breaking administrative access. All WordPress sites using vulnerable plugin versions are affected.
💻 Affected Systems
- User Activity Log WordPress 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
Attackers disable wp-admin access by corrupting 'wp_user_roles' option, requiring database restoration. They could also enable user registration to create backdoor accounts.
Likely Case
Attackers enable user registration to create unauthorized administrator accounts, gaining full site control.
If Mitigated
With proper network controls and monitoring, exploitation attempts are detected and blocked before causing damage.
🎯 Exploit Status
Simple HTTP POST request exploitation with publicly available proof-of-concept.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.2.1
Vendor Advisory: https://plugins.trac.wordpress.org/browser/user-activity-log/trunk/user-functions.php
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'User Activity Log'. 4. Click 'Update Now' if available. 5. Alternatively, download version 2.2.1+ from WordPress repository and replace plugin files.
🔧 Temporary Workarounds
Disable Plugin
allTemporarily deactivate the User Activity Log plugin until patched.
wp plugin deactivate user-activity-log
Web Application Firewall Rule
allBlock requests to the vulnerable endpoint.
Block POST requests to /wp-admin/admin-ajax.php with action=ual_shook_wp_login_failed
🧯 If You Can't Patch
- Implement strict network access controls to limit access to wp-admin/admin-ajax.php
- Enable detailed logging of all failed login attempts and option modifications
🔍 How to Verify
Check if Vulnerable:
Check plugin version in WordPress admin under Plugins > Installed Plugins. If User Activity Log version is 2.2 or lower, you are vulnerable.
Check Version:
wp plugin get user-activity-log --field=version
Verify Fix Applied:
Verify plugin version is 2.2.1 or higher. Test by attempting to trigger the failed login handler and checking logs for unauthorized option modifications.
📡 Detection & Monitoring
Log Indicators:
- Multiple failed login attempts with different usernames
- Unexpected modifications to wp_options table
- POST requests to admin-ajax.php with action=ual_shook_wp_login_failed
Network Indicators:
- Unusual POST requests to /wp-admin/admin-ajax.php from unauthenticated sources
- Spike in failed login attempts
SIEM Query:
source="wordpress.log" AND "ual_shook_wp_login_failed" AND status=200