Home

Description

The Contact Form 7 – PayPal & Stripe Add-on plugin for WordPress is vulnerable to Payment Bypass via Insufficient Verification of Data Authenticity in all versions up to, and including, 2.4.9. Although `cf7pp_paypal_ipn_handler()` correctly validates IPN authenticity by posting back to PayPal with `cmd=_notify-validate`, it fails to compare the IPN payload's `mc_gross` (payment amount), `mc_currency`, or `receiver_email` fields against the corresponding stored order values before passing the attacker-controlled `invoice` field directly to `cf7pp_complete_payment()`, which marks the order completed after only an integer cast with no amount verification. This makes it possible for unauthenticated attackers to mark arbitrary high-value pending orders as fully paid by making a minimal real PayPal payment and crafting an IPN whose `invoice` parameter references the targeted order, effectively completing purchases without tendering the required payment amount.

PUBLISHED Reserved 2026-05-21 | Published 2026-05-29 | Updated 2026-05-29 | Assigner Wordfence




MEDIUM: 5.3CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Problem types

CWE-345 Insufficient Verification of Data Authenticity

Product status

Default status
unaffected

Any version
affected

Timeline

2026-05-21:Vendor Notified
2026-05-28:Disclosed

Credits

Muni Nitish Kumar Yaddala finder

References

www.wordfence.com/...-1c20-4224-bc10-26dadb9b1e07?source=cve

plugins.trac.wordpress.org/...es/payments/paypal_handler.php

plugins.trac.wordpress.org/...es/payments/paypal_handler.php

plugins.trac.wordpress.org/...ncludes/payments/functions.php

plugins.trac.wordpress.org/...es/payments/paypal_handler.php

plugins.trac.wordpress.org/...es/payments/paypal_handler.php

plugins.trac.wordpress.org/...ncludes/payments/functions.php

plugins.trac.wordpress.org/...7/contact-form-7-paypal-add-on

cve.org (CVE-2026-9189)

nvd.nist.gov (CVE-2026-9189)

Download JSON