CVE-2026-104767
Membership & User Roles for WooCommerce (Automatic Role Changer) <= 20260828 - Authenticated (Subscriber+) Privilege Escalation to Stale Foreign Role Cache
The Membership & User Roles for WooCommerce (Automatic Role Changer) plugin for WordPress is vulnerable to Privilege Escalation in versions up to, and including, 20260828. This is due to the maybe_add_role_to_user() function unconditionally re-assigning every role stored in the dfxwcrc_foreign_roles user meta cache without verifying that each cached role is still actively assigned by the external provider — a condition made permanent by remember_foreign_roles(), which merges new foreign roles into the cache but never evicts roles that have since been revoked. This makes it possible for authenticated attackers with subscriber-level access and above to restore a previously revoked Administrator role to their own account, gaining full administrative control of the site, by triggering any role-assignment event such as completing a purchase for a role-mapped product. Exploitation requires Replace Roles mode to be enabled and the attacker's account to have previously received Administrator legitimately through a separate role-management mechanism while the plugin was active, so that administrator was written into the dfxwcrc_foreign_roles user meta cache before the external provider revoked it.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Membership & User Roles for WooCommerce (Automatic Role Changer) <= 20260828 - Authenticated (Subscriber+) Privilege Escalation to Stale Foreign Role Cache
The Membership & User Roles for WooCommerce (Automatic Role Changer) plugin for WordPress is vulnerable to Privilege Escalation in versions up to, and including, 20260828. This is due to the maybe_add_role_to_user() function unconditionally re-assigning every role stored in the dfxwcrc_foreign_roles user meta cache without verifying that each cached role is still actively assigned by the external provider — a condition made permanent by remember_foreign_roles(), which merges new foreign roles into the cache but never evicts roles that have since been revoked. This makes it possible for authenticated attackers with subscriber-level access and above to restore a previously revoked Administrator role to their own account, gaining full administrative control of the site, by triggering any role-assignment event such as completing a purchase for a role-mapped product. Exploitation requires Replace Roles mode to be enabled and the attacker's account to have previously received Administrator legitimately through a separate role-management mechanism while the plugin was active, so that administrator was written into the dfxwcrc_foreign_roles user meta cache before the external provider revoked it.
- Record
CVE-2026-104767- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-02
EUVDEUVD-2026-100767
7.5
The Membership & User Roles for WooCommerce (Automatic Role Changer) plugin for WordPress is vulnerable to Privilege Escalation in versions up to, and including, 20260828. This is due to the maybe_add_role_to_user() function unconditionally re-assigning every role stored in the dfxwcrc_foreign_roles user meta cache without verifying that each cached role is still actively assigned by the external provider — a condition made permanent by remember_foreign_roles(), which merges new foreign roles into the cache but never evicts roles that have since been revoked. This makes it possible for authenticated attackers with subscriber-level access and above to restore a previously revoked Administrator role to their own account, gaining full administrative control of the site, by triggering any role-assignment event such as completing a purchase for a role-mapped product. Exploitation requires Replace Roles mode to be enabled and the attacker's account to have previously received Administrator legitimately through a separate role-management mechanism while the plugin was active, so that administrator was written into the dfxwcrc_foreign_roles user meta cache before the external provider revoked it.
- Record
EUVD-2026-100767- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-m963-j4qw-ph48
7.5
The Membership & User Roles for WooCommerce (Automatic Role Changer) plugin for WordPress is...
The Membership & User Roles for WooCommerce (Automatic Role Changer) plugin for WordPress is vulnerable to Privilege Escalation in versions up to, and including, 20260828. This is due to the maybe_add_role_to_user() function unconditionally re-assigning every role stored in the dfxwcrc_foreign_roles user meta cache without verifying that each cached role is still actively assigned by the external provider — a condition made permanent by remember_foreign_roles(), which merges new foreign roles into the cache but never evicts roles that have since been revoked. This makes it possible for authenticated attackers with subscriber-level access and above to restore a previously revoked Administrator role to their own account, gaining full administrative control of the site, by triggering any role-assignment event such as completing a purchase for a role-mapped product. Exploitation requires Replace Roles mode to be enabled and the attacker's account to have previously received Administrator legitimately through a separate role-management mechanism while the plugin was active, so that administrator was written into the dfxwcrc_foreign_roles user meta cache before the external provider revoked it.
- Record
GHSA-m963-j4qw-ph48- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-02
NVD
7.5
The Membership & User Roles for WooCommerce (Automatic Role Changer) plugin for WordPress is vulnerable to Privilege Escalation in versions up to, and including, 20260828. This is due to the maybe_add_role_to_user() function unconditionally re-assigning every role stored in the dfxwcrc_foreign_roles user meta cache without verifying that each cached role is still actively assigned by the external provider — a condition made permanent by remember_foreign_roles(), which merges new foreign roles into the cache but never evicts roles that have since been revoked. This makes it possible for authenticated attackers with subscriber-level access and above to restore a previously revoked Administrator role to their own account, gaining full administrative control of the site, by triggering any role-assignment event such as completing a purchase for a role-mapped product. Exploitation requires Replace Roles mode to be enabled and the attacker's account to have previously received Administrator legitimately through a separate role-management mechanism while the plugin was active, so that administrator was written into the dfxwcrc_foreign_roles user meta cache before the external provider revoked it.
- Record
CVE-2026-104767- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-269
- Updated
- 2026-11-02
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-104767 is a high vulnerability (CVSS 7.5) in Davefx Membership & User Roles For Woocommerce (automatic Role Changer), published October 14, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.34%, the 27th percentile. No source names a fixed version.
References
wordfence.com/threat-intel/vulnerabilities/id/833d9f92-9af1-4332-9b1d-2d1d37073b4b?source=cve
plugins.trac.wordpress.org/browser/dfx-woo-role-changer/trunk/dfx-woo-role-changer.php
plugins.trac.wordpress.org/changeset?reponame=&old=3732550%40dfx-woo-role-changer&new=3732550%40dfx-woo-role-changer
nvd.nist.gov/vuln/detail/CVE-2026-104767
github.com/advisories/GHSA-m963-j4qw-ph48