# CVE-2026-104767: Membership & User Roles for WooCommerce privilege escalation

Source: https://junglewise.ai/threats/cve-2026-104767-the-membership-user-roles-for-woocommerce-automatic-role-changer  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-14. Updated: 2026-10-16  
License: CC BY 4.0 with a link back

CVE-2026-104767 · Severity: high · CVSS 7.5 · Published 2026-10-14

The Membership & User Roles for WooCommerce plugin for WordPress fails to verify that cached user roles are still valid, allowing authenticated users to restore previously revoked administrator access. An attacker with subscriber-level or higher access can regain full administrative control of a WordPress site by triggering a role-assignment event, such as completing a product purchase, if they previously held an administrator role that was then revoked.

Vendors: [Automatic](https://junglewise.ai/threats/vendors/automatic).

## Quick answers

**Is CVE-2026-104767 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-104767 being exploited in the wild.

**How severe is CVE-2026-104767?** High severity, with a CVSS score of 7.5, published 14 October 2026.

**Which products and versions are affected?** Automatic Membership & User Roles for WooCommerce up to 20260828.

**Is there a fix for CVE-2026-104767?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-104767 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-104767?** Check whether you run Automatic Membership & User Roles for WooCommerce at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The plugin's `maybe_add_role_to_user()` function re-assigns cached roles from the `dfxwcrc_foreign_roles` user meta without validating that the external provider still grants those roles. The `remember_foreign_roles()` function merges new roles into the cache but never removes revoked ones, allowing revoked administrator roles to persist. When triggered (e.g., on product purchase in Replace Roles mode), the cached administrator role is restored, granting full site access to an authenticated attacker whose role was previously revoked by an external provider.

## Affected products

- Automatic Membership & User Roles for WooCommerce up to 20260828

## Timeline

- 2026-10-14: disclosed

## References

- [https://plugins.trac.wordpress.org/browser/dfx-woo-role-changer/trunk/dfx-woo-role-changer.php](https://plugins.trac.wordpress.org/browser/dfx-woo-role-changer/trunk/dfx-woo-role-changer.php)
- [https://plugins.trac.wordpress.org/browser/dfx-woo-role-changer/trunk/dfx-woo-role-changer.php](https://plugins.trac.wordpress.org/browser/dfx-woo-role-changer/trunk/dfx-woo-role-changer.php)
