CVE-2026-4003

Users manager – PN <= 1.1.15 - Unauthenticated Privilege Escalation via Account Takeover via 'userspn_form_save' AJAX Action

2026-04-07 15:32
BaroHaf

Strategic Overview

Status
Patched in 1.1.20
Affected Plugin
Users manager – PN
Affected Version
<= 1.1.15
CVSS
9.8Critical
Weakness type
CWE-862 · Missing Authorization
CVE
CVE-2026-4003
View all Users manager – PN vulnerabilities

At a glance

CVE-2026-4003 is a critical-severity Missing Authorization vulnerability in the Users manager WordPress plugin, affecting versions <= 1.1.15. It carries a CVSS score of 9.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires no authentication. The issue is fixed in version 1.1.20; sites on affected versions should update now. Disclosed April 2026, reported by BaroHaf.

Vulnerability Overview

The Users manager – PN plugin for WordPress is vulnerable to Privilege Escalation via Arbitrary User Meta Update in all versions up to and including 1.1.15. This is due to a flawed authorization logic check in the userspn_ajax_nopriv_server() function within the 'userspn_form_save' case. The conditional only blocks unauthenticated users when the user_id is empty, but when a non-empty user_id is supplied, execution bypasses this check entirely and proceeds to update arbitrary user meta via update_user_meta() without any authentication or authorization verification. Additionally, the nonce required for this AJAX endpoint ('userspn-nonce') is exposed to all visitors via wp_localize_script on the public wp_enqueue_scripts hook, rendering the nonce check ineffective as a security control. This makes it possible for unauthenticated attackers to update arbitrary user metadata for any user account, including the userspn_secret_token field.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.

CWE-862: Missing Authorization

Users manager <= 1.1.15 carries this weakness at userspn_form_save, and reaching it takes no account at all. A missing authorization check means a function is reachable by anyone who can reach the endpoint, because the code never asks whether the caller is allowed to perform the action.

Any user who can reach the endpoint gets to run an action reserved for higher-privileged roles, from reading protected data to changing settings or content. For Users manager the fix is 1.1.20: builds <= 1.1.15 are affected, anything from 1.1.20 onward is not.

Remediation

Update to version 1.1.20, or a newer patched version

How does WordSec protect against this?

This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. None of that substitutes for the fix: Users manager 1.1.20 closes this, and updating the plugin is the step that ends it.

  • Login Security
  • Alerts

External References

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C