← Back to search

CVE-2026-116624

8.8 HIGH

Published 2026-11-06 · Updated 2026-11-06

AI risk analysis

Summary
The Advanced Members for ACF WordPress plugin (≤1.3.0) contains a privilege escalation flaw where authenticated users with Subscriber-level access or higher can overwrite the password of the site administrator (user ID 1) due to a PHP operator-precedence bug that incorrectly assigns boolean true instead of a user ID, bypassing authorization checks and targeting the admin account via wp_update_user().
Exploitability
Exploitation requires only a valid authenticated session (any role ≥ Subscriber) and no additional privileges or social engineering; it is trivial to execute once an attacker has basic login access.
Blast radius
Successful exploitation grants full administrative control of the WordPress site to the attacker, enabling complete compromise including data theft, malware deployment, and lateral movement.
Detection
Monitor WordPress debug logs or custom audit logs for unexpected password changes to user ID 1 (admin) by non-administrative users; also watch for POST requests to endpoints handling [advanced-members-account-password] form submissions containing the acf[_amem_local_user_password] parameter from low-privilege accounts.
Prioritized remediation
Upgrade to Advanced Members for ACF version 1.3.1 or later, which resolves the operator-precedence bug and restores proper field exclusion logic in Account::process().
privilege-escalationauth-bypasswordpressphp-bugpassword-reset-abuse

Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.

NVD description

The Advanced Members for ACF plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 1.3.0 via the `acf[_amem_local_user_password]` parameter of the `[advanced-members-account-password]` shortcode form submission. This is due to a PHP operator-precedence bug in the `pre_update_value` function of `acf/fields/class-user-password.php` that assigns boolean `true` instead of the resolved user ID to `$user_id`, causing the `_can_edit()` authorization check to pass for any logged-in user via PHP loose equality, and causing `wp_update_user()` to cast `'ID' => true` to integer `1` — unconditionally targeting the primary administrator account. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite the password of user ID 1 (the site's primary administrator) with an attacker-chosen value, granting full administrative access to the site. The intended exclusion guard in `Account::process` that strips the password field before saving is defeated because `amem_save_all_fields()` re-reads the full field list from `amem()->submission` and silently overwrites the caller-supplied excluded fields array with an empty array, ensuring the password field is always processed.

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Weaknesses

CWE-269

All references

Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.

Related CVEs

Related by shared AI tags and CWE weakness class. Browse the full archive.