Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Lifecycle Timeline
3DescriptionCVE.org
The Customer Reviews for WooCommerce plugin for WordPress is vulnerable to authentication bypass in all versions up to, and including, 5.103.0. This is due to the create_review_permissions_check() function comparing the user-supplied key parameter against the order's ivole_secret_key meta value using strict equality (===), without verifying that the stored key is non-empty. For orders where no review reminder email has been sent, the ivole_secret_key meta is not set, causing get_meta() to return an empty string. An attacker can supply key: "" to match this empty value and bypass the permission check. This makes it possible for unauthenticated attackers to submit, modify, and inject product reviews on any product - including products not associated with the referenced order - via the REST API endpoint POST /ivole/v1/review. Reviews are auto-approved by default since ivole_enable_moderation defaults to "no".
AnalysisAI
Unauthenticated attackers can bypass authentication in Customer Reviews for WooCommerce plugin versions up to 5.103.0 by submitting an empty string as the review permission key, allowing them to create, modify, and inject malicious product reviews via the REST API without any legitimate order association. The vulnerability exploits improper key validation using strict equality comparison without checking for empty values, combined with auto-approval of reviews by default, enabling widespread review injection across all products on affected WooCommerce installations.
Technical ContextAI
The vulnerability exists in the create_review_permissions_check() function within the Customer Reviews for WooCommerce plugin (CPE: cpe:2.3:a:ivole:customer_reviews_for_woocommerce:*:*:*:*:*:*:*:*). The root cause is a CWE-287 (Improper Authentication) flaw where the function uses strict equality (===) to compare a user-supplied key parameter against the order's ivole_secret_key meta value without validating that the stored key is non-empty. When review reminder emails have not been sent for an order, the ivole_secret_key meta field remains unset, causing WordPress's get_meta() function to return an empty string as a default value. An attacker can exploit this by supplying key: "" to match the empty meta value and bypass the permission check entirely. The REST API endpoint POST /ivole/v1/review processes these requests without proper authentication, and because ivole_enable_moderation defaults to "no", reviews are automatically published without human review.
RemediationAI
Vendor-released patch: Customer Reviews for WooCommerce version 5.104.0 fixes this vulnerability by implementing proper validation of the review permission key (confirmed via the changeset comparison between tags 5.103.0 and 5.104.0 at https://plugins.trac.wordpress.org/changeset?old_path=%2Fcustomer-reviews-woocommerce/tags/5.103.0&new_path=%2Fcustomer-reviews-woocommerce/tags/5.104.0). Site administrators should immediately update the Customer Reviews for WooCommerce plugin to version 5.104.0 or later through the WordPress plugin dashboard. As an interim mitigation prior to patching, administrators may consider disabling the /ivole/v1/review REST endpoint or implementing Web Application Firewall rules to block requests with empty key parameters to this endpoint, though immediate patching is the recommended primary remediation. Additional hardening includes enabling review moderation by setting ivole_enable_moderation to "yes" to require manual approval of reviews before publication.
The isMail transport in PHPMailer before 5.2.20 might allow remote attackers to pass extra parameters to the mail comman
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Country State City Dropdown CF7 plugin for WordPress is vulnerable to SQL Injection via the ‘cnt’ and 'sid' paramete
Same weakness CWE-287 – Improper Authentication
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-21264