Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconSelf-register or obtain Subscriber credentials
-
DeliveryAuthenticate to WordPress site
-
ExploitSend POST /wp/v2/users with roles=administrator
-
InstallPlugin's bare is_user_logged_in() callback passes
-
C2WordPress Core creates Administrator account
-
ExecuteLog in as new admin
-
ImpactFull site takeover
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The Security Hardener plugin must be installed and in an active state; the block_user_enum option must be enabled, which is its default state requiring no post-install configuration change. The attacker must hold a valid WordPress user account at Subscriber level or above; unauthenticated exploitation by anonymous visitors is not possible, as is_user_logged_in() still gates access. Exploitation is most accessible on sites with open user registration (Settings → General → 'Anyone can register' enabled), which allows the attacker to self-provision a Subscriber account. Sites where user registration is disabled are exposed only to existing authenticated users - employees, editors, contributors, or any account obtained via credential compromise. No specific plugin configuration beyond installation is required, and the vulnerability manifests on the first REST API request after plugin activation. |
| Impact | The CVSS 8.8 score with vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H accurately reflects the real-world threat profile. Attack complexity is genuinely low - the vulnerability requires no race condition, no special timing, no chained gadget, and no elevated configuration. The only prerequisite is a valid WordPress account at any level, including the lowest-privilege Subscriber role. The default-on nature of the affected feature means every installation is vulnerable from the moment the plugin is activated, without any misconfiguration on the site owner's part. No EPSS score or KEV listing was provided in the available intelligence, so widespread or confirmed active exploitation cannot be asserted; however, the trivially simple exploitation path (a single authenticated HTTP request) combined with its critical impact - full administrative takeover of the WordPress installation - means this should be treated as a genuine priority for any site with user registration enabled or with any non-admin user accounts. Sites that have no user registration pathway and no existing low-privilege accounts have a meaningfully reduced exposure window but are not immune to insider or credential-compromise scenarios. |
| Exploit ScenarioDerived | An attacker registers a Subscriber-level account on a WordPress site running Security Hardener 2.4.4 and issues a single authenticated POST request to /wp/v2/users with a JSON body specifying username, email, password, and roles set to administrator; the plugin's overwritten permission_callback returns true for any logged-in user, so WordPress Core creates the account with full administrative privileges. The attacker then authenticates as the new administrator, gaining complete control over site content, installed plugins, theme files, and the underlying database. In a second variant, the attacker targets an existing administrator's account by issuing a PUT request to /wp/v2/users/<id> to reset their password, locking out the legitimate owner and taking exclusive control. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 23, 2026
Privilege escalation in the Security Hardener WordPress plugin (all versions up to and including 2.4.4) allows any authenticated Subscriber-level user to create new Administrator accounts or reset existing Administrator passwords by sending crafted REST API requests. The plugin's user-enumeration blocking feature inadvertently replaces WordPress Core's granular capability checks on the /wp/v2/users REST endpoints with a bare is_user_logged_in() check, completely stripping create_users, edit_users, and delete_users enforcement. Because block_user_enum is enabled by default, this authorization bypass is active on every site immediately after plugin installation with no additional configuration required; no public exploit has been identified at time of analysis.
RemediationAI
An upstream fix has been committed per WordPress plugin SVN changeset 3630896 (https://plugins.trac.wordpress.org/changeset/3630896/security-hardener); update the Security Hardener plugin to any version released after 2.4.4 as available in the WordPress plugin repository, and verify the changeset is included - a specific patched release version has not been independently confirmed from available data, so check the plugin's changelog after updating. As an immediate compensating control while awaiting a confirmed patched release, consider deactivating the Security Hardener plugin entirely, accepting the loss of its other hardening features in exchange for restoring WordPress Core's native REST API authorization. Alternatively, disable site-wide user registration (WordPress Dashboard → Settings → General → uncheck 'Anyone can register') to eliminate the most common pathway for untrusted Subscriber account acquisition; this does not protect against internal threats or previously registered low-privilege users. Restricting the /wp-json/wp/v2/users endpoint at the WAF or web server level is an additional layer, but will break legitimate REST API consumers such as mobile apps, Gutenberg editor features, and third-party integrations.
Affected VersionsENISA
Affected Packages
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
The Security Hardener plugin hooks WordPress's rest_endpoints filter via its secure_user_endpoints() function - documented in the plugin source at lines 107, 180, 204, 428, 433, and 439 of security-hardener.php in the 2.4.4 tag - with the intent of masking user information from unauthenticated enumeration attempts. However, the implementation overwrites the permission_callback of every registered route handler on both /wp/v2/users and /wp/v2/users/(?P<id>[\d]+), including the mutating methods POST, PUT, PATCH, and DELETE, with a closure that returns only is_user_logged_in(). This completely displaces the authorization logic of WordPress Core's WP_REST_Users_Controller class, which normally enforces discrete capability primitives (create_users, promote_user, edit_users, delete_users) per method. CWE-269 (Improper Privilege Management) is the precise root cause: a security-hardening feature inadvertently degrades the authorization posture of a core API surface rather than narrowing it, trading one protection for another far more consequential bypass.
Know when Wordpress Plugin 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network vector with low complexity confirmed by default-on REST API exposure; PR:L reflects mandatory Subscriber authentication; C/I/A:H justified by full administrative takeover impact.
Primary rating from Vendor (wordfence).
CVSS VectorVendor: wordfence
DescriptionCVE.org
The Security Hardener plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 2.4.4. The vulnerability exists because the plugin's user-enumeration protection, which is enabled by default, hooks the rest_endpoints filter via secure_user_endpoints() and overwrites every registered handler's permission_callback on both the /wp/v2/users and /wp/v2/users/(?P<id>[\d]+) routes - including POST, PUT, PATCH, and DELETE handlers - with a bare closure that returns only is_user_logged_in(), completely stripping WordPress Core's original capability checks such as create_users, promote_user, edit_users, and delete_users that WP_REST_Users_Controller normally enforces. This makes it possible for authenticated attackers with Subscriber-level access and above to create new Administrator accounts by sending POST request to /wp/v2/users with administrator role, or to reset an existing Administrator's password by issuing a PUT/POST request to /wp/v2/users/<id>. Because the block_user_enum option defaults to enabled, no special plugin configuration is required - the overwrite is active on every request as soon as the plugin is installed.
Executive ViewAI
The Security Hardener WordPress plugin (all versions through 2.4.4) contains a critical authorization flaw that enables any user account-including low-privilege subscribers-to gain full administrative control, creating an uncontrolled escalation path from account compromise to site takeover. The vulnerability is enabled by default on all installations. This exposure directly threatens site integrity, data security, and operational continuity for every organization using this plugin.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) disable the plugin immediately, (2) restrict the /wp-json/wp/v2/users REST endpoint to administrator access only through firewall, Web Application Firewall, or web server configuration (deny all unauthenticated and subscriber-level requests to this endpoint), (3) implement request-level authentication at the API gateway, and (4) configure audit logging on all user creation and modification events. Monitor logs continuously for unauthorized account provisioning attempts.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-64605
GHSA-493r-g3qv-5457
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB