Read the docs

Privilege escalation in Advanced Members for ACF plugin

Priority MEDIUM 41CWE-269Published · Updated

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

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00496 42nd percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

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

VendorProductAffected versionsFixed inStatusSource
danbilabsAdvanced Members for ACFup to 1.3.0—No fix listedCNA
  • Advanced Members for ACF Vendordanbilabs Affected up to 1.3.0 Fixed in — No fix listed CNA

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

  1. 2026-11-06 Threatist record created from CVE-2026-116624
  2. 2026-11-06 Alias added: GHSA-r29v-jf4c-hpxx
  3. 2026-11-06 CISA SSVC decision points changed
  4. 2026-11-06 Priority changed: MEDIUM → LOW
  5. 2026-11-08 Priority changed: LOW → MEDIUM

References

  • TI-2026-02804 Advanced Members for ACF <= 1.2.5 - Authenticated (Subscriber+) Arbitrary File Deletion via Path Traversal CVSS 3.1HIGH 8.8

Sources