Skip to main content
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Request /register/ or call nopriv AJAX endpoint
  2. Delivery
    Read hidden uwp_register_hash from response
  3. Exploit
    Derive shared dummy-user password from hash
  4. Execution
    Authenticate as dummy account via wp-login.php
  5. Impact
    Access/alter data, escalate if role elevated

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that an administrator has previously created the 25 built-in dummy user accounts via the UsersWP plugin's Tools page; on sites that never used this feature there are no dummy accounts to authenticate as and the attack yields nothing. Given that precondition, no authentication and no user interaction are needed: the uwp_register_hash field is exposed unauthenticated through both the public /register/ page and the wp_ajax_nopriv_uwp_ajax_register_form AJAX handler, and the latter remains reachable even when user registration is disabled. The principal limiting factors are therefore the dummy-user precondition and the actual role assigned to those dummy accounts - meaningful privilege escalation only occurs if a dummy account was given an elevated role; otherwise impact is limited to access at the dummy account's privilege level.

Impact

This is a genuine but conditional, mid-severity issue rather than a top-tier emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N, base 6.5) reflects unauthenticated network exploitation at low complexity against default configurations - a single unauthenticated HTTP request to /register/ or the wp_ajax_nopriv_uwp_ajax_register_form handler returns the uwp_register_hash field whose full 25-character value is the same SHA256 hash the plugin truncates to derive the shared dummy-account password. That is a clean, deterministic bug with no user interaction. The vuln.today decision label is this_month, not act_now/emergency, which is consistent with the real-world picture: there is no CISA KEV listing (not actively exploited per available data) and no EPSS score was supplied, so probability of near-term mass exploitation cannot be quantified from the input. The low/low confidentiality and integrity impact caps the raw severity, and real risk is heavily gated by one precondition the CVSS vector does not capture - an administrator must have previously created the 25 built-in dummy users via the plugin's Tools page; sites that never used that feature are not exploitable. Escalation to a serious compromise further depends on whether any dummy account was assigned an elevated role, which is not confirmed in the available data. Net: a real priority to patch this month, but its severity in a given environment swings on configuration that the single 6.5 number does not express.

Exploit ScenarioDerived

An unauthenticated attacker requests the plugin's public /register/ page (or calls the wp_ajax_nopriv_uwp_ajax_register_form AJAX endpoint, which works even when registration is disabled) and reads the hidden uwp_register_hash value from the response. Because that value is the full SHA256 hash from which the shared dummy-user password is a substring, the attacker derives the password offline and logs in through wp-login.php as a built-in dummy account such as antawn, chynna, or kiki. No public working exploit is identified in the input, though Wordfence has published an advisory and the vulnerable source lines are visible in the plugin's trac repository.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 31, 2026

Unauthenticated attackers can recover the shared password protecting UsersWP's 25 built-in dummy user accounts - in all plugin versions up to and including 1.2.78 - from a single HTTP request, then authenticate as accounts such as antawn, chynna or kiki through wp-login.php. The value is derived as the first 15 characters of a SHA-256 hash of AUTH_KEY concatenated with site_url(), while the full 25-character hash of that same input is rendered into the hidden uwp_register_hash field on every registration form, reachable via the public /register/ page and the wp_ajax_nopriv_uwp_ajax_register_form AJAX handler even when user registration is switched off. Impact is conditional rather than universal: an administrator must previously have created the dummy users from the plugin's Tools page, and meaningful privilege escalation only occurs where one of those accounts was given an elevated role; no public exploit code has been identified at time of analysis.

RemediationAI

A fix appears to have landed in the plugin trunk via changeset 3774438 (https://plugins.trac.wordpress.org/changeset/3774438/userswp/trunk/includes/class-tools.php), so treat 1.2.78 as the last known vulnerable release and update UsersWP once a tagged release carrying that change is confirmed - the supplied data does not state a released fixed version number, so verify the changelog before assuming any specific version is patched. Where updating must wait, the most direct mitigation is to remove the precondition: delete the 25 dummy accounts created earlier from the Tools page, after which the leaked hash has no account to authenticate against - the trade-off is loss of the plugin's demo/test users. Rotating AUTH_KEY and the WordPress salts in wp-config.php also invalidates the currently derived password because the hash input changes; the side effect is that all logged-in users are signed out and any other plugin relying on those salts is affected. Because the hash is served by both the public /register/ page and the nopriv AJAX action, restricting or blocking requests to /register/ and to admin-ajax.php actions carrying uwp_ajax_register_form reduces exposure but can break legitimate front-end registration flows on sites that use them. Finally, audit the roles assigned to any dummy accounts, since escalation only occurs where an administrator granted them elevated capabilities; the vendor's complete remedy is to apply the updated plugin code.

Affected VersionsENISA

UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP 0 ≤1.2.78

Affected Packages

euvd userswp_front_end_login_form_user_registration_user_profile_members_directory_plugin_for_wp no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is an improper authentication weakness (CWE-287) in a WordPress plugin written in PHP. UsersWP creates a set of 25 built-in dummy accounts through its admin Tools page and assigns them all a single shared password generated by get_dummy_user_passowrd(), which returns the first 15 characters of substr(hash('SHA256', AUTH_KEY . site_url()), 0, 25). Separately, the plugin embeds the full 25-character value of that same hash in a hidden uwp_register_hash field on registration form markup - code referenced in class-templates.php and class-forms.php of the 1.2.78 tag. Because the leaked value is a strict prefix-extension of the password (the password is simply its first 15 characters), an attacker who fetches a registration form learns the dummy-account credential without needing to know AUTH_KEY or the site URL, and without any cryptographic work. The exposure path is unauthenticated by design: the /register/ page is public and the wp_ajax_nopriv_uwp_ajax_register_form hook is a WordPress nopriv AJAX action, which remains callable even when an administrator has disabled user registration in plugin settings. The hash is salted with the site-specific AUTH_KEY and site_url(), so the derived password differs between installations rather than being a single universal default; the practical consequence is that a leaked hash is only useful against the site that emitted it. Successful authentication lands the attacker in a dummy account, so the realized impact scales with the role attached to those accounts - low-privilege access is the baseline, with privilege escalation only where an administrator elevated a dummy user.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY MEDIUM
NVD 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
vuln.today AI 6.5 MEDIUM

A single unauthenticated request discloses the hash deterministically, so AV:N/AC:L/PR:N/UI:N; account access yields limited confidentiality and integrity (C:L/I:L) with no availability impact and no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionNVD

The UsersWP - Front-end login form, User Registration, User Profile & Members Directory plugin for WordPress is vulnerable to unauthorized account access via Use of Predictable Password in all versions up to, and including, 1.2.78 The vulnerability exists because get_dummy_user_passowrd() derives the shared password for all 25 built-in dummy user accounts as the first 15 characters of substr(hash('SHA256', AUTH_KEY . site_url()), 0, 25), while the full 25-character value of that same hash is simultaneously embedded in the hidden uwp_register_hash field rendered on every registration form response - reachable without authentication via both the public /register/ page and the wp_ajax_nopriv_uwp_ajax_register_form AJAX handler, even when user registration is disabled. This makes it possible for unauthenticated attackers to recover the dummy user password directly from a single HTTP request and use it to authenticate as any of the 25 built-in dummy accounts (such as antawn, chynna, or kiki) through wp-login.php, potentially achieving privilege escalation if any dummy account holds an elevated role. Exploitation requires that an administrator has previously created dummy users via the plugin's Tools page.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Low
niche AyeCode WordPress plugin, modest install base, further gated by dummy-user feature
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy