Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsTraining
StudyProjectsNewsletterHire MeAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Training
Study
Projects
Newsletter
Hire Me
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

2604+ Articles
162+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Checklists
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. Security
  3. Unauthenticated Privilege Escalation to Admin in WooCommerce Plugin (CVE-2026-15369)
Unauthenticated Privilege Escalation to Admin in WooCommerce Plugin (CVE-2026-15369)

Critical Security Alert

This vulnerability is actively being exploited. Immediate action is recommended.

SECURITYCRITICALCVE-2026-15369

Unauthenticated Privilege Escalation to Admin in WooCommerce Plugin (CVE-2026-15369)

CVE-2026-15369 (CVSS 9.8) lets unauthenticated attackers self-assign the Administrator role during WooCommerce checkout in Addify's plugin.

Dylan H.

Security Team

August 30, 2026
5 min read

Affected Products

  • Custom User Registration Fields for WooCommerce (Addify) 2.2.3 and earlier

Executive Summary

CVE-2026-15369 affects Custom User Registration Fields for WooCommerce, a plugin by Addify for WordPress/WooCommerce stores, in versions 2.2.3 and earlier. The flaw is an Improper Privilege Management bug (CWE-269) that lets a completely unauthenticated attacker grant themselves the Administrator role simply by placing an order through checkout.

CVSS Score: 9.8 (Critical)

The plugin's af_reg_checkout_data_to_order_meta_data_block() function reads an attacker-controlled afreg_select_user_role value from the unauthenticated WooCommerce Store API endpoint /wc/store/v1/checkout and stores it in order meta. That value is later passed directly to WP_User::add_role() inside af_reg_custom_order_processing_function(), hooked to woocommerce_thankyou, with no validation against the plugin's admin-configured list of allowed roles. An attacker can submit a normal checkout request with the role field set to administrator and receive full site administrator access the moment the order completes.


Vulnerability Overview

AttributeValue
CVE IDCVE-2026-15369
CVSS Score9.8 (Critical)
TypeImproper Privilege Management (CWE-269)
Attack VectorNetwork
Privileges RequiredNone
User InteractionNone
Vulnerable Functionsaf_reg_checkout_data_to_order_meta_data_block(), af_reg_custom_order_processing_function()

Affected Versions

ProductAffected VersionsFixed Version
Custom User Registration Fields for WooCommerce (Addify)2.2.3 and earlierNot yet published at time of writing

Exploitation requires the plugin's "User Role Selection" checkout option to be enabled — a setting store owners commonly turn on to let customers register as wholesalers, vendors, or other custom roles during checkout.


Technical Details

WooCommerce's headless Store API (/wc/store/v1/checkout) is designed to be reachable without authentication, since it powers guest checkout and account creation at the point of purchase. Custom User Registration Fields for WooCommerce hooks into that flow to let new customers pick a role from an admin-defined list at checkout time.

The plugin never re-validates the submitted role against that allow-list on the server side. It trusts the afreg_select_user_role field from the raw checkout JSON body, persists it as order meta, and — once the order reaches the woocommerce_thankyou step — calls WordPress's own WP_User::add_role() with that value.

Attack Vector

1. Attacker identifies a WooCommerce store running the vulnerable plugin
   with "User Role Selection" enabled at checkout
2. Attacker submits a POST request to /wc/store/v1/checkout, creating
   a new account and setting afreg_select_user_role: "administrator"
3. The order is processed and reaches the woocommerce_thankyou hook
4. af_reg_custom_order_processing_function() passes the attacker's
   role value straight into WP_User::add_role() with no allow-list check
5. The newly created account is granted the Administrator role
6. Attacker logs in with full administrative control of the WordPress site

Impact of Successful Exploitation

ImpactDescription
Full Site TakeoverAdministrator access allows plugin/theme installation, arbitrary PHP execution via the plugin editor, and complete control of the WordPress install
No Authentication BarrierThe entire chain runs through WooCommerce's public, unauthenticated Store API
Low ComplexityA single crafted checkout request is sufficient — no social engineering or prior access required
Silent OnboardingThe malicious account is created as part of a normal-looking order, blending into legitimate checkout traffic

Immediate Remediation

Step 1: Disable the Vulnerable Setting

Until a patched release ships, disable "User Role Selection" in the plugin's checkout settings. This removes the code path that trusts the attacker-controlled role field.

Step 2: Watch for a Vendor Patch

Check the plugin changelog and WordPress.org plugin page regularly for a fixed version beyond 2.2.3, and update immediately once available.

Step 3: Audit Existing Accounts

# Review WordPress users for unexpected Administrator accounts,
# especially those created via recent WooCommerce orders
wp user list --role=administrator --fields=ID,user_login,user_registered

Step 4: Restrict the Store API as a Stopgap

Sites that cannot disable role selection can add a web application firewall rule blocking afreg_select_user_role values other than the store's intended default (e.g., customer) on requests to /wc/store/v1/checkout.


Detection Indicators

IndicatorDescription
New Administrator accounts tied to a WooCommerce orderStrong sign of exploitation via this checkout flow
Checkout requests containing afreg_select_user_role=administratorDirect evidence of an exploitation attempt in access/WAF logs
Unexpected plugin, theme, or file changes shortly after a new account registrationSign of post-exploitation activity following a successful takeover

Post-Remediation Steps

  1. Disable "User Role Selection" immediately if the store does not strictly require it.
  2. Audit all Administrator-role accounts for ones tied to recent orders rather than known staff.
  3. Rotate credentials and API keys if an unauthorized Administrator account is found.
  4. Apply the vendor patch as soon as it is released and re-enable role selection only after confirming the fix validates roles server-side.
  5. Review other checkout-triggered plugins for the same pattern of trusting client-supplied role or capability values.

References

  • Wordfence — Custom User Registration Fields for WooCommerce ≤ 2.2.3 Vulnerability Intelligence
  • OffSeq Threat Radar — CVE-2026-15369
  • THREATINT — CVE-2026-15369
  • NVD — CVE-2026-15369

Related Reading

  • Critical TranslatePress Flaw Exposes 400,000+ WordPress Sites to Account Takeover
#WooCommerce#CVE-2026-15369#Privilege Escalation#WordPress#Addify

Related Articles

CVE-2026-15414: WooCommerce Subscriptions Plugin Privilege Escalation (CVSS 8.8)

A high-severity privilege escalation vulnerability in the Subscriptions for WooCommerce plugin allows authenticated users to elevate their role to administrator by manipulating membership plan metadata.

3 min read

CVE-2026-28005: Critical Privilege Escalation in Kadence WooCommerce Email Designer

A critical unauthenticated privilege escalation flaw (CVSS 9.8) in Kadence WooCommerce Email Designer <= 1.5.19 allows attackers to gain admin access with no credentials.

5 min read

CVE-2025-10656: WooCommerce Plugin Missing Authorization Allows Unauthenticated Admin Account Creation

A critical missing authorization vulnerability in the Spreadsheet Price Changer for WooCommerce plugin allows unauthenticated attackers to create admin accounts on affected WordPress sites, scoring a near-perfect CVSS 9.8.

4 min read
Back to all Security Alerts