Read the docs

Authentication bypass in Customer Email Verification for WooCommerce

Priority LOW 22CWE-287Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
Security bypass
Confidentiality · integrity · availability
Low · Low · None
Fix status
No fix listed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-287.

Summary

The Customer Email Verification for WooCommerce plugin for WordPress is affected in all versions up to and including 2.8.2. Its email-verification token is predictable and is accepted without a capability or nonce check (CWE-287). An unauthenticated remote attacker can log in as a verified customer for any email address or mark an existing account as verified. Exploitation requires a password column in the cev_user_log table, which is present on sites upgraded from an older version.

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

Description from the CNA

The Customer Email Verification for WooCommerce plugin for WordPress is vulnerable to Authentication Bypass via a Predictable Email-Verification Token in all versions up to, and including, 2.8.2. This is due to the `authenticate_user_by_email_link()` function — hooked on the `wp` action and triggered by the `cusomer_email_verify` GET parameter — lacking any capability check or nonce verification, while the `secret_code` it validates is generated as `md5(email . time())` and the `verify_otp_nonce` required to trigger token issuance via the `wp_ajax_nopriv_resend_otp` handler is emitted to every front-end visitor through `wp_localize_script`. This makes it possible for unauthenticated attackers to log in as a newly created, verified WooCommerce customer bound to an arbitrary email address — or to flip an existing account's `customer_email_verified` meta to verified — fully bypassing the plugin's core email-verification control. Exploitation requires the `cev_user_log` table to contain a `password` column, which is absent from the fresh-install schema shipped in version 2.8.2 but is present on sites upgraded from an older version where that column was defined.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00344 28th 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
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ZoremCustomer Email Verification for WooCommerceup to 2.8.2—No fix listedCNA
  • Customer Email Verification for WooCommerce VendorZorem Affected up to 2.8.2 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-29

Timeline

  1. 2026-10-28 Threatist record created from CVE-2026-109236
  2. 2026-10-28 Alias added: GHSA-fmvc-698m-vpm5
  3. 2026-10-28 CISA SSVC decision points changed

References

  • TI-2024-20659 WordPress Advanced Local Pickup for WooCommerce plugin <=1.6.2 - Broken Access Control vulnerability CVSS 3.1CRITICAL 9.8
  • TI-2021-03204 Advanced Shipment Tracking for WooCommerce <= 3.2.6 - Authenticated WordPress Options Change CVSS 3.1CRITICAL 9.9
  • TI-2022-20033 WordPress Advanced Shipment Tracking for WooCommerce Plugin <= 3.5.2 is vulnerable to Cross Site Request Forgery (CSRF) CVSS 3.1HIGH 8.8
  • TI-2026-84143 SQL injection in Advanced Shipment Tracking for WooCommerce CVSS 3.1HIGH 7.2
  • TI-2026-41596 WordPress Advanced Shipment Tracking for WooCommerce plugin <= 4.0 - SQL Injection vulnerability CVSS 3.1HIGH 7.6
  • TI-2023-02662 Advanced Local Pickup for WooCommerce <= 1.5.5 - Authenticated (Administrator+) SQL Injection CVSS 3.1HIGH 7.2
See all 9 →

Sources