CVE-2026-4003
WordPress vulnerability analysis and mitigation

Overview

CVE-2026-4003 is a critical privilege escalation vulnerability in the Users manager – PN plugin for WordPress, affecting all versions up to and including 1.1.15. It allows unauthenticated attackers to update arbitrary user metadata for any account via a flawed AJAX authorization handler, potentially enabling full account takeover or admin privilege escalation. The vulnerability was published on April 8, 2026, with a patch available in the GitHub Advisory Database on the same date. It carries a CVSS v3.1 base score of 9.8 (Critical) (GitHub Advisory, Feedly).

Technical details

The root cause is a Missing Authorization flaw (CWE-862) in the userspn_ajax_nopriv_server() function within the userspn_form_save AJAX case. The conditional check only blocks unauthenticated requests when user_id is empty; supplying any non-empty user_id bypasses the check entirely, allowing the code to proceed directly to update_user_meta() without any authentication or authorization verification. Compounding this, the nonce (userspn-nonce) required for the AJAX endpoint is publicly exposed to all site visitors via wp_localize_script on the wp_enqueue_scripts hook, rendering the nonce check completely ineffective as a security control. Vulnerable code paths are documented in the plugin's source at lines 186, 190, and 233 of class-userspn-ajax-nopriv.php (GitHub Advisory).

Impact

Successful exploitation allows any unauthenticated remote attacker to overwrite arbitrary user metadata for any WordPress user account, including sensitive fields such as userspn_secret_token. This can be leveraged to modify administrator credentials, escalate privileges to admin level, or gain unauthorized access to user accounts — resulting in full confidentiality, integrity, and availability compromise of the affected WordPress site. There is no requirement for user interaction or prior authentication, making mass exploitation across vulnerable installations feasible (GitHub Advisory, Feedly).

Exploitability

As of the time of reporting, there is no public proof-of-concept exploit and no confirmed evidence of in-the-wild exploitation (Feedly). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.242% (48th percentile), indicating a moderate relative probability of exploitation within 30 days (GitHub Advisory). The low attack complexity and zero authentication requirement make this an attractive target if exploitation details become more widely known.

Exploitation steps

  1. Reconnaissance: Identify WordPress sites running the Users manager – PN plugin (versions ≤ 1.1.15) by scanning for plugin-specific assets (e.g., wp-content/plugins/userspn/) using tools like WPScan or Shodan.
  2. Obtain the nonce: Visit any public page of the target WordPress site and inspect the page source or JavaScript variables injected by wp_localize_script to retrieve the publicly exposed userspn-nonce value.
  3. Identify target user ID: Enumerate WordPress user IDs (e.g., via the REST API at /wp-json/wp/v2/users if not disabled, or by observing author archive URLs) to identify the administrator account's numeric user ID.
  4. Craft malicious AJAX request: Send an unauthenticated HTTP POST request to the WordPress AJAX endpoint (/wp-admin/admin-ajax.php) with the action userspn_ajax_nopriv_server, the userspn_form_save case parameter, the retrieved nonce, a non-empty user_id targeting the admin, and a chosen userspn_secret_token or other metadata value.
  5. Achieve privilege escalation: With the target user's metadata updated (e.g., userspn_secret_token set to an attacker-controlled value), leverage the plugin's authentication flow to authenticate as the target user or trigger further privilege escalation, gaining administrative access to the WordPress site (GitHub Advisory, Feedly).

Indicators of compromise

  • Network: Unauthenticated HTTP POST requests to /wp-admin/admin-ajax.php with action=userspn_ajax_nopriv_server and a non-empty user_id parameter from unexpected or external IP addresses.
  • Logs: WordPress access logs showing repeated POST requests to admin-ajax.php with userspn_form_save case parameters; unusual activity from IPs with no prior site interaction.
  • Database: Unexpected changes to the wp_usermeta table, particularly modifications to userspn_secret_token or other user meta fields for administrator accounts at unusual times.
  • Application: Unexplained administrator account logins from unfamiliar IP addresses or user agents following metadata modification events.

Mitigation and workarounds

Update the Users manager – PN plugin to a version beyond 1.1.15 immediately; a patch has been made available as referenced in the GitHub Advisory and WordPress plugin repository changeset (GitHub Advisory). If immediate patching is not possible, consider temporarily deactivating the plugin to eliminate the attack surface. After patching, audit the wp_usermeta database table for unauthorized modifications to sensitive fields (e.g., userspn_secret_token) and review WordPress admin account integrity. Additionally, restrict access to wp-admin/admin-ajax.php via firewall or WAF rules where feasible (Feedly).

Community reactions

Wordfence included CVE-2026-4003 in their weekly WordPress vulnerability report for April 6–12, 2026, highlighting it as a critical privilege escalation issue (Wordfence Blog). The vulnerability was noted on social platforms including Mastodon and Bluesky shortly after disclosure, with security community accounts flagging the unauthenticated nature of the attack as particularly concerning. No major vendor statements beyond the patch advisory have been issued.

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-19859MEDIUM6.5
  • jetformbuilder
NoYesSep 06, 2026
CVE-2026-85038MEDIUM5.3
  • b2bking-wholesale-for-woocommerce
NoYesSep 06, 2026
CVE-2026-80439MEDIUM4.8
  • wpcf7-redirect
NoYesSep 06, 2026
CVE-2026-80437MEDIUM4.8
  • ninja-forms
NoYesSep 06, 2026
CVE-2026-19862MEDIUM4.8
  • jetformbuilder
NoYesSep 06, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management