CVE-2026-16149

Security Hardener <= 2.4.4 - Authenticated (Subscriber+) Privilege Escalation via REST API '/wp/v2/users' permission_callback Overwrite

2026-08-22 11:09
zickzick2

Strategic Overview

Status
Patched in 2.4.5
Affected Plugin
Security Hardener
Affected Version
<= 2.4.4
CVSS
8.8High
Weakness type
CWE-269 · Improper Privilege Management
CVE
CVE-2026-16149
View all Security Hardener vulnerabilities

At a glance

CVE-2026-16149 is a high-severity Improper Privilege Management vulnerability in the Security Hardener WordPress plugin, affecting versions <= 2.4.4. It carries a CVSS score of 8.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires an authenticated account at Subscriber level or above. The issue is fixed in version 2.4.5; sites on affected versions should update now. Disclosed August 2026, reported by zickzick2.

Vulnerability Overview

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.

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 interaction from a victim user. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.

CWE-269: Improper Privilege Management

Security Hardener <= 2.4.4 carries this weakness at secure_user_endpoints(), and reaching it takes an account at Subscriber level or above. Improper privilege management means the code lets an account end up with capabilities its role should not have.

It converts a low-privileged account into an administrative one, which makes every other restriction on the site irrelevant. For Security Hardener the fix is 2.4.5: builds <= 2.4.4 are affected, anything from 2.4.5 onward is not.

Remediation

Update to version 2.4.5, or a newer patched version

How does WordSec protect against this?

Because it turns on account access, WordSec's login security is the relevant layer: role-based two-factor, captcha and brute-force limits raise the cost of getting the account this needs. None of that substitutes for the fix: Security Hardener 2.4.5 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