{"id":"CVE-2026-16149","state":"PUBLISHED","title":"Security Hardener <= 2.4.4 - Authenticated (Subscriber+) Privilege Escalation via REST API '/wp/v2/users' permission_callback Overwrite","description":"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.","publishedAt":"2026-08-22T23:27:18.750Z","updatedAt":"2026-08-24T18:19:21.817Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Wordfence"},"assigner":"Wordfence","products":["marc4 Security Hardener"],"affected":[{"vendor":"marc4","product":"Security Hardener","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"2.4.4","versionType":"semver"}]}],"references":["https://www.wordfence.com/threat-intel/vulnerabilities/id/64f1a71f-e210-4191-bfb4-56f8568180ed?source=cve","https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L107","https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L180","https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L204","https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L428","https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L433","https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L439","https://plugins.trac.wordpress.org/changeset/3630896/security-hardener"],"weaknesses":["CWE-269"],"ingestedAt":"2026-10-29T20:11:00.674Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/16xxx/CVE-2026-16149.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-16149","state":"PUBLISHED","datePublished":"2026-08-22T23:27:18.750Z","dateUpdated":"2026-08-24T18:19:21.817Z","assignerShortName":"Wordfence","assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateReserved":"2026-07-17T18:41:15.726Z"},"containers":{"cna":{"title":"Security Hardener <= 2.4.4 - Authenticated (Subscriber+) Privilege Escalation via REST API '/wp/v2/users' permission_callback Overwrite","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"marc4","product":"Security Hardener","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"2.4.4","versionType":"semver"}]}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/64f1a71f-e210-4191-bfb4-56f8568180ed?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L107"},{"url":"https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L180"},{"url":"https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L204"},{"url":"https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L428"},{"url":"https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L433"},{"url":"https://plugins.trac.wordpress.org/browser/security-hardener/tags/2.4.4/security-hardener.php#L439"},{"url":"https://plugins.trac.wordpress.org/changeset/3630896/security-hardener"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-269","lang":"en","description":"CWE-269 Improper Privilege Management","type":"CWE"}]}],"providerMetadata":{"shortName":"Wordfence","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateUpdated":"2026-08-22T23:27:18.750Z"},"credits":[{"lang":"en","type":"finder","value":"zickzick2"}],"timeline":[{"time":"2026-08-22T11:09:38.000Z","lang":"en","value":"Disclosed"}]},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-08-24T18:19:02.745662Z","id":"CVE-2026-16149","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-08-24T18:19:21.817Z"}}]}}}