Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/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:H/I:N/A:N
Lifecycle Timeline
4DescriptionCVE.org
The Otter Blocks plugin for WordPress is vulnerable to Purchase Verification Bypass in all versions up to, and including, 3.1.4. This is due to the 'get_customer_data' method relying on an unsigned 'o_stripe_data' cookie to determine Stripe product ownership for unauthenticated users. The 'check_purchase' method trusts this cookie data without performing server-side verification against the Stripe API for one-time 'payment' mode purchases. This makes it possible for unauthenticated attackers to bypass Stripe purchase-gated content visibility conditions by forging the 'o_stripe_data' cookie with a target product ID, which is publicly exposed in the checkout block's HTML source.
AnalysisAI
Unauthenticated attackers can bypass Stripe payment gates in Otter Blocks for WordPress ≤3.1.4 by forging the 'o_stripe_data' cookie with publicly visible product IDs from checkout block HTML source, gaining unauthorized access to premium content. The plugin's 'get_customer_data' method accepts unsigned cookie data without server-side Stripe API verification for one-time purchases, enabling trivial exploitation with no authentication required. CVSS 7.5 (AV:N/AC:L/PR:N/UI:N) reflects high confidentiality impact from accessing gated content. EPSS data unavailable; no active exploitation or POC confirmed at time of analysis, but the attack requires only basic HTTP cookie manipulation skills.
Technical ContextAI
Otter Blocks is a WordPress plugin providing block-based content management with Stripe integration for payment-gated content. The vulnerability stems from CWE-285 (Improper Authorization) where the 'check_purchase' method in class-block-conditions.php calls 'get_customer_data' from class-stripe-api.php, which reads the client-controlled 'o_stripe_data' cookie without cryptographic signature validation. For one-time 'payment' mode purchases, the plugin bypasses server-side Stripe API verification and trusts the cookie's product ID claim directly. The product IDs themselves are embedded in the checkout block's rendered HTML, making them trivially discoverable via browser developer tools or page source inspection. This architectural flaw violates secure design principles by treating client-supplied data as authoritative for access control decisions without server-side validation against the authoritative payment processor API.
RemediationAI
Upgrade to Otter Blocks version 3.1.5 or later, which addresses the vulnerability per WordPress plugin repository changeset 3471326. The patch implements server-side Stripe API verification for purchase validation rather than trusting unsigned cookie data. Site administrators should update via WordPress admin dashboard (Plugins > Updates) or manually download from the official WordPress plugin repository. After patching, regenerate or invalidate existing 'o_stripe_data' cookies to prevent replay attacks using pre-patch cookie values. If immediate patching is not feasible, implement compensating controls: (1) temporarily disable Stripe payment-gated content blocks until upgrade is possible, though this breaks monetization functionality; (2) implement web application firewall rules to detect suspicious 'o_stripe_data' cookie patterns (e.g., cookies appearing without corresponding Stripe checkout sessions), but this is detection-only and won't prevent exploitation; (3) conduct manual content audit to identify which pages use Stripe gates and consider temporarily restricting access via WordPress role-based permissions, though this prevents legitimate unauthenticated purchasers from accessing content. All workarounds have significant functional trade-offs; vendor patch is the only complete remediation. Consult Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/3443950f-1f94-4e0b-8906-1a9b9602a746 for additional guidance.
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-285 – Improper Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-26373