CVE-2025-11877

7.5 HIGH

📋 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

Products:
  • User Activity Log WordPress Plugin
Versions: Versions up to and including 2.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with the vulnerable plugin active.

⚠️ 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.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. 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.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

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

all

Temporarily deactivate the User Activity Log plugin until patched.

wp plugin deactivate user-activity-log

Web Application Firewall Rule

all

Block 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

🔗 References

📤 Share & Export