Read the docs

Privilege escalation in Customer Email Verification for WooCommerce

Priority LOW 38CWE-269Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
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 Customer Email Verification for WooCommerce plugin from wpcodefactory is affected up to and including version 3.3.0. When the Encoding method is set to hashids, the activation code is drawn from only about 101 possible values and has no cryptographic protection, and the verification handler accepts it without a nonce check or rate limiting. An unauthenticated remote attacker can guess these codes to gain access to unverified WordPress accounts, including administrator accounts (CWE-269). Exploitation requires the non-default Hashids setting and knowledge of the Hashids salt.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

Description from the CNA

The Customer Email Verification for WooCommerce plugin for WordPress is vulnerable to Privilege Escalation via the `alg_wc_ev_verify_email` parameter in versions up to, and including, 3.3.0. The vulnerability exists because `alg_wc_ev_generate_user_code()` generates the per-user activation secret using `wp_rand(100)` when the plugin's 'Encoding method' is set to 'hashids', producing only ~101 possible values (~7 bits of entropy); the resulting token is a reversible Hashids encoding with no cryptographic MAC, and the unauthenticated `verify()` handler — hooked to `init` at `PHP_INT_MAX` with no nonce check and no rate limiting — accepts and acts on the attacker-controlled `?alg_wc_ev_verify_email=` GET parameter directly. This makes it possible for unauthenticated attackers to gain authentication as any unverified WordPress account, including administrator-level accounts, by brute-forcing the trivially small activation code space via a forged verification URL. Exploitation requires that the 'Encoding method' setting be changed to 'hashids' (non-default), that the attacker recover or brute-force the Hashids salt (which defaults to an `md5(time())` value set at first initialization), and that the target account's email address remain unverified.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00684 52nd 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
WPFactoryCustomer Email Verification for WooCommerceup to 3.3.0—No fix listedCNA
  • Customer Email Verification for WooCommerce VendorWPFactory Affected up to 3.3.0 Fixed in — No fix listed CNA

Remediation

The sources list no fixed version for Customer Email Verification for WooCommerce.

Written with Claude Haiku 5.5 from the sources below · 2026-10-28

Timeline

  1. 2026-10-16 Threatist record created from CVE-2026-104745
  2. 2026-10-16 CISA SSVC decision points changed
  3. 2026-10-16 Priority changed: MEDIUM → LOW
  4. 2026-10-16 Alias added: GHSA-hrmj-f3f9-pq8r
  5. 2026-10-25 EPSS moved to the 50th–90th percentile

References

  • TI-2023-00058 EAN for WooCommerce < 4.4.3 - Contributor+ Stored XSS CVSS 3.1MEDIUM 5.4
  • TI-2023-02512 File Renaming on Upload < 2.5.2 - Admin+ Stored Cross-Site Scripting CVSS 3.1MEDIUM 4.8
  • TI-2026-80051 SQL injection in WordPress Product Filter by WBW plugin CVSS 3.1CRITICAL 9.3
  • TI-2025-22716 WordPress Advanced WooCommerce Product Sales Reporting plugin <= 4.1.1 - SQL Injection vulnerability CVSS 3.1CRITICAL 9.3
  • TI-2026-20178 WordPress Advanced WooCommerce Product Sales Reporting plugin <= 4.1.3 - SQL Injection vulnerability CVSS 3.1CRITICAL 9.3
  • TI-2024-32898 WordPress Customer Email Verification for WooCommerce plugin <= 2.8.10 - SQL Injection vulnerability CVSS 3.1CRITICAL 9.3
See all 80 →

Sources