CVE-2026-116624
8.8 HIGHPublished 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().
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
- https://plugins.svn.wordpress.org/advanced-members/trunk/
- https://plugins.trac.wordpress.org/browser/advanced-members/tags/1.3.0/acf/fields/base/trait-amem-field.php#L30
- https://plugins.trac.wordpress.org/browser/advanced-members/tags/1.3.0/acf/fields/class-user-password.php#L117
- https://plugins.trac.wordpress.org/browser/advanced-members/tags/1.3.0/core/actions/account.php#L227
- https://plugins.trac.wordpress.org/browser/advanced-members/tags/1.3.0/core/functions-forms.php#L105
- https://plugins.trac.wordpress.org/changeset/3779180/advanced-members/trunk/acf/fields/class-user-password.php
- https://www.wordfence.com/threat-intel/vulnerabilities/id/6fc38f0b-bf13-4d01-a4b3-38a43fc726d6?source=cve
Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.
Related CVEs
- HIGHCVE-2026-103694
- HIGHCVE-2026-104725PoC
- CRITICALCVE-2026-104748
- CRITICALCVE-2026-107645
- CRITICALCVE-2026-109145
- HIGHCVE-2026-110523
- CRITICALCVE-2026-110963
- CRITICALCVE-2026-115214
Related by shared AI tags and CWE weakness class. Browse the full archive.