CVE-2026-0832

7.3 HIGH

📋 TL;DR

The New User Approve WordPress plugin has missing capability checks on REST API endpoints, allowing unauthenticated attackers to approve/deny user registrations, retrieve sensitive user data, and force logout of privileged users. This affects all WordPress sites using the plugin up to version 3.2.2.

💻 Affected Systems

Products:
  • WordPress New User Approve plugin
Versions: All versions up to and including 3.2.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with the New User Approve plugin active. The vulnerability exists in default plugin configuration.

⚠️ 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 could approve malicious user registrations, gain administrative access by manipulating user roles, exfiltrate all user email addresses and personal data, and disrupt site operations by logging out legitimate administrators.

🟠

Likely Case

Attackers will harvest user email addresses for spam/phishing campaigns, approve spam user accounts, and potentially gain limited site access through approved malicious accounts.

🟢

If Mitigated

With proper network segmentation and monitoring, impact is limited to user data exposure and minor site disruption, but no full system compromise.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires no authentication and minimal technical skill. Attackers can directly call vulnerable REST API endpoints.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.2.3 or later

Vendor Advisory: https://plugins.trac.wordpress.org/browser/new-user-approve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'New User Approve' plugin. 4. Click 'Update Now' if available. 5. If no update available, download version 3.2.3+ from WordPress.org and manually update.

🔧 Temporary Workarounds

Disable REST API endpoints

all

Add code to WordPress theme functions.php to disable the vulnerable REST API endpoints

add_filter('rest_endpoints', function($endpoints) { unset($endpoints['/new-user-approve/v1/']); return $endpoints; });

Deactivate plugin

linux

Temporarily disable the New User Approve plugin until patched

wp plugin deactivate new-user-approve

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block requests to /wp-json/new-user-approve/v1/ endpoints
  • Enable detailed logging for all REST API requests and monitor for suspicious activity

🔍 How to Verify

Check if Vulnerable:

Check plugin version in WordPress admin panel under Plugins > Installed Plugins. If version is 3.2.2 or lower, you are vulnerable.

Check Version:

wp plugin get new-user-approve --field=version

Verify Fix Applied:

After updating, verify plugin version shows 3.2.3 or higher. Test REST API endpoints return proper authentication errors.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST/GET requests to /wp-json/new-user-approve/v1/ endpoints from unauthenticated IPs
  • Multiple user approval/denial events from single IP
  • Burst of user data retrieval requests

Network Indicators:

  • HTTP requests to /wp-json/new-user-approve/v1/approve, /wp-json/new-user-approve/v1/deny, /wp-json/new-user-approve/v1/users without authentication headers

SIEM Query:

source="web_logs" AND (uri_path="/wp-json/new-user-approve/v1/*" AND NOT (user_agent="WordPress/*" OR auth_token=*))

🔗 References

📤 Share & Export