Privilege escalation in Advanced Members for ACF plugin
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Privilege escalation
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-269.
Summary
The Advanced Members for ACF plugin for WordPress is affected in all versions up to and including 1.3.0. An operator-precedence bug in its password update logic (CWE-269) causes the password change to target user ID 1, the site's primary administrator, instead of the submitting user. An authenticated attacker with Subscriber-level access or higher can overwrite the administrator's password with a chosen value, gaining full administrative access to the site.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
The sources list no fixed version for Advanced Members for ACF.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Timeline
- 2026-11-06 Threatist record created from CVE-2026-116624
- 2026-11-06 Alias added: GHSA-r29v-jf4c-hpxx
- 2026-11-06 CISA SSVC decision points changed
- 2026-11-06 Priority changed: MEDIUM → LOW
- 2026-11-08 Priority changed: LOW → MEDIUM
References
Other 7
- https://www.wordfence.com/threat-intel/vulnerabilities/id/6fc38f0b-bf13-4d01-a4b3-38a43fc726d6?source=cve
- 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/acf/fields/base/trait-amem-field.php#L30
- https://plugins.trac.wordpress.org/browser/advanced-members/tags/1.3.0/core/functions-forms.php#L105
- https://plugins.trac.wordpress.org/browser/advanced-members/tags/1.3.0/core/actions/account.php#L227
- https://plugins.svn.wordpress.org/advanced-members/trunk/
- https://plugins.trac.wordpress.org/changeset/3779180/advanced-members/trunk/acf/fields/class-user-password.php
More danbilabs vulnerabilities
- TI-2026-02804 Advanced Members for ACF <= 1.2.5 - Authenticated (Subscriber+) Arbitrary File Deletion via Path Traversal CVSS 3.1HIGH 8.8
Sources
- CVE-2026-116624 · CVE Program
- CVE-2026-116624 · NVD
- FIRST EPSS
- GHSA-r29v-jf4c-hpxx · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences