CVE-2022-1903

8.1 HIGH

📋 TL;DR

The ARMember WordPress plugin before version 3.4.8 contains an authentication bypass vulnerability that allows unauthenticated attackers to reset passwords of any user, including administrators, by exploiting missing security checks in an AJAX endpoint. This affects all WordPress sites running vulnerable versions of the ARMember plugin, potentially leading to complete site compromise.

💻 Affected Systems

Products:
  • ARMember WordPress Plugin
Versions: All versions before 3.4.8
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations with ARMember plugin enabled are vulnerable regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site takeover where attackers gain administrative access, install backdoors, steal sensitive data, deface the site, or use it for further attacks.

🟠

Likely Case

Attackers reset administrator passwords to gain full control of the WordPress site, potentially leading to data theft, malware installation, or site defacement.

🟢

If Mitigated

With proper access controls and monitoring, impact is limited to temporary disruption while passwords are reset and accounts are restored.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires only knowledge of target usernames and can be performed via simple HTTP requests to the vulnerable AJAX endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.4.8

Vendor Advisory: https://wpscan.com/vulnerability/28d26aa6-a8db-4c20-9ec7-39821c606a08

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find ARMember plugin and update to version 3.4.8 or later. 4. Verify update completed successfully.

🔧 Temporary Workarounds

Disable ARMember Plugin

linux

Temporarily disable the vulnerable plugin until patching is possible.

wp plugin deactivate armember-membership

Restrict AJAX Access

all

Block access to the vulnerable AJAX endpoint via web application firewall or .htaccess rules.

RewriteEngine On
RewriteRule ^wp-admin/admin-ajax\.php\?action=arm_reset_user_password - [F,L]

🧯 If You Can't Patch

  • Immediately disable the ARMember plugin if patching is not possible.
  • Implement strong monitoring for unauthorized password reset attempts and user account changes.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Installed Plugins for ARMember version. If version is below 3.4.8, the site is vulnerable.

Check Version:

wp plugin get armember-membership --field=version

Verify Fix Applied:

Confirm ARMember plugin version is 3.4.8 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin-ajax.php with action=arm_reset_user_password parameter
  • Multiple failed login attempts followed by successful password reset for privileged accounts

Network Indicators:

  • HTTP POST requests to WordPress AJAX endpoints from unexpected IP addresses
  • Traffic patterns showing password reset requests without preceding authentication

SIEM Query:

source="web_server" AND uri="/wp-admin/admin-ajax.php" AND query="action=arm_reset_user_password"

🔗 References

📤 Share & Export