Skip to main content

Automatic Role Changer CVE-2026-104767

| EUVDEUVD-2026-100767 HIGH
Improper Privilege Management (CWE-269)
2026-10-14 Wordfence GHSA-m963-j4qw-ph48
7.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as demoted subscriber account
  2. Delivery
    Complete purchase of role-mapped product
  3. Exploit
    Trigger maybe_add_role_to_user() role re-assignment
  4. Execution
    Stale cached administrator role restored from user meta
  5. Impact
    Regain full administrative control of site

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a specific non-default state, not merely network access: (1) the plugin must be configured in 'Replace Roles' mode; (2) the attacker's account must have previously been assigned the Administrator role 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; (3) that Administrator role must subsequently have been revoked by the external provider without the cache being evicted (the remember_foreign_roles() eviction gap); and (4) the attacker must be able to trigger a role-assignment event such as completing a purchase of a role-mapped product. Authentication at subscriber level or above is required (PR:L). These stacked preconditions - former legitimate admin, stale cache, Replace Roles mode - are the primary factors limiting real-world exploitation and mean only former privileged users, not arbitrary subscribers, can exploit it.

Impact

This is a genuine high-integrity-impact privilege escalation (CWE-269) reported by Wordfence, but its real-world risk is materially lower than the 7.5 CVSS score suggests because of stacked preconditions. The CVSS vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H) correctly captures the high attack complexity (AC:H) and the fact that an authenticated low-privilege user (PR:L, subscriber+) can trigger it over the network, with full C/I/A impact. However, the AC:H rating understates the practical barrier: exploitation is not generic - it requires that the attacker's account *previously held Administrator legitimately* while the plugin was active (so that administrator was cached into dfxwcrc_foreign_roles), that the admin role was later revoked, AND that the site runs in 'Replace Roles' mode. No EPSS score, KEV listing, or POC was provided in the input. There is no CISA KEV entry and no public exploit identified, so there is no evidence of active exploitation. Net assessment: a real and logically sound vulnerability worth patching, but a conditional, opportunistic-to-targeted issue rather than a mass-exploitable internet-wide threat - the self-privilege-restoration angle means the attacker must already be a former admin, which limits the realistic attacker population.

Exploit ScenarioDerived

A user who was once legitimately granted Administrator on a WooCommerce site running this plugin in 'Replace Roles' mode is later demoted to subscriber, but the stale administrator entry remains cached in their dfxwcrc_foreign_roles user meta. The former admin simply completes a purchase of any role-mapped product, which triggers maybe_add_role_to_user() to blindly re-assign every cached role - silently restoring their Administrator access. No public exploit code was identified at time of analysis; the attack requires only normal authenticated store interaction.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 14, 2026

Privilege escalation in the Membership & User Roles for WooCommerce (Automatic Role Changer) plugin through version 20260828 lets an authenticated subscriber-level user re-acquire a previously revoked Administrator role and take full administrative control of the WordPress site. The flaw is reachable when the plugin is configured in Replace Roles mode and the attacker's account previously legitimately held Administrator while the plugin was active, because that role stays cached in the dfxwcrc_foreign_roles user meta and is re-applied whenever a role-assignment event fires, such as completing a purchase for a role-mapped product. Wordfence reported the issue (CVSS 7.5, CWE-269) and no public exploit code was identified at the time of analysis; the stacked preconditions - former legitimate admin, stale cache, Replace Roles mode - materially limit real-world exploitation, and only former privileged users, not arbitrary subscribers, can abuse it.

RemediationAI

Update the dfx-woo-role-changer plugin past version 20260828: WordPress.org Trac changeset 3732550 (https://plugins.trac.wordpress.org/changeset?reponame=&old=3732550%40dfx-woo-role-changer&new=3732550%40dfx-woo-role-changer) is the upstream fix, so an upstream fix is available via that changeset, but a released patched version number is not independently confirmed from the data provided - verify the plugin changelog and install the newest published build rather than assuming 20260828 remains safe. Until patched, the strongest compensating control is to take the plugin out of Replace Roles mode, with the trade-off that legitimate externally mapped role changes may stop being applied as intended; as an alternative, purge stale dfxwcrc_foreign_roles user meta for accounts whose elevated roles have been revoked and re-sync, accepting that remember_foreign_roles() will repopulate the cache on the next role-assignment event unless the code is fixed. For detection and containment, audit accounts for unexpected administrator roles, immediately strip administrator and other high-privilege roles from accounts that no longer require them, and limit who can trigger role-assignment events (for example purchases of role-mapped products), since that is the exploitation trigger. Consult the Wordfence advisory at the reference URL for the vendor-stated fixed version and any further guidance.

Affected VersionsENISA

Membership & User Roles for WooCommerce (Automatic Role Changer) 0 ≤20260828

Affected Packages

euvd membership_user_roles_for_woocommerce_automatic_role_changer no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The plugin synchronises WordPress user roles with external role providers (for example WooCommerce membership or purchase-based role mapping) and caches provider-supplied roles in the dfxwcrc_foreign_roles user meta key. Two routines create the bug: remember_foreign_roles() merges newly observed foreign roles into that cache but never evicts entries that the external provider has since revoked, and maybe_add_role_to_user() (referenced at lines 351, 414, 427 and 468 of dfx-woo-role-changer.php) unconditionally re-assigns every role found in the cache during a role-assignment event without verifying that the provider still actively grants it. The root-cause class is CWE-269, Improper Privilege Management: stale, unvalidated authorization state is treated as authoritative. Because the cached value was written while the account legitimately held Administrator, the plugin restores administrator privileges even after the external provider revokes them. Affected CPE: cpe:2.3:a:davefx:membership_&_user_roles_for_woocommerce_(automatic_role_changer):*:*:*:*:*:*:*:*. The assessed vector CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H reflects network reachability, high attack complexity driven by the stacked preconditions, low privileges required (PR:L - authenticated at subscriber level or above, not unauthenticated), no user interaction, and high confidentiality, integrity and availability impact.

Know when Woocommerce gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 7.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.5 HIGH

Authenticated subscriber (PR:L) triggers it remotely via a purchase (AV:N), but stacked preconditions (prior cached admin role, Replace Roles mode) justify AC:H; full admin takeover gives C:H/I:H/A:H.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Sites running the Membership & User Roles for WooCommerce (Automatic Role Changer) plugin through version 20260828 face a privilege-escalation path that can hand full administrative control of a WordPress site to a low-privileged subscriber-level account. Only accounts that once legitimately held Administrator while the plugin was active and only instances configured in Replace Roles mode are exposed, so risk is concentrated in organizations with a history of role changes rather than the general subscriber base. Because no vendor fix is available, leadership should treat this as a governance and configuration risk requiring immediate inventory and hardening of affected sites.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: deactivate the Membership & User Roles for WooCommerce (Automatic Role Changer) plugin or move it out of Replace Roles mode; purge stale Administrator entries from the dfxwcrc_foreign_roles user meta key; remove Administrator privileges from accounts that no longer require them; enforce multi-factor authentication and credential rotation for former administrators; and monitor purchase and role-assignment events for unexpected privilege grants.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Low
niche WooCommerce role-management plugin, limited enterprise footprint
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

CVE-2017-17058 HIGH POC
7.5 Nov 29

The WooCommerce plugin through 3.x for WordPress has a Directory Traversal Vulnerability via a /wp-content/plugins/wooco

CVE-2026-18143 CRITICAL POC
9.8 Sep 26

Unauthenticated arbitrary file upload in Addify's Request a Quote for WooCommerce plugin, affecting all versions up to a

CVE-2021-24212 CRITICAL POC
9.8 Apr 05

The WooCommerce Help Scout WordPress plugin before 2.9.1 (https://woocommerce.com/products/woocommerce-help-scout/) allo

CVE-2022-50972 CRITICAL POC
9.3 Jun 20

WooCommerce 7.1.0 contains a remote code execution vulnerability that allows attackers to execute arbitrary PHP code by

CVE-2025-10162 HIGH POC
8.6 Oct 07

Unauthenticated path traversal in OrderConvo (the "Admin and Customer Messages After Order for WooCommerce" plugin), aff

CVE-2026-81649 CRITICAL POC
9.1 Oct 11

Unauthenticated remote attackers can seize control of the payment configuration on WordPress stores running the Fundiin

CVE-2020-35627 HIGH POC
8.8 Dec 28

Ultimate WooCommerce Gift Cards 3.0.2 is affected by a file upload vulnerability in the Custom GiftCard Template that ca

CVE-2026-103307 HIGH POC
8.6 Oct 14

Unauthenticated attackers can exploit the Walletdoc Payment Gateway for WooCommerce plugin before version 1.8.5 to execu

CVE-2026-14962 HIGH POC
8.6 Sep 09

Unauthenticated SQL injection in the ELEX WooCommerce Request a Quote WordPress plugin (all versions before 2.4.1) allow

CVE-2026-92404 HIGH POC
7.5 Sep 19

Unauthenticated, network-reachable attackers can read the WooCommerce API consumer key and secret stored by the MgoSync

CVE-2023-34000 HIGH POC
7.5 Jun 14

Unauth. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low atta

CVE-2020-11497 HIGH POC
7.5 Aug 26

An issue was discovered in the NAB Transact extension 2.1.0 for the WooCommerce plugin for WordPress. Rated high severit

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy