# Razorpay for WooCommerce <= 4.8.8 - Unauthenticated SQL Injection via Webhook Event Processing

- **ID:** WPSEC-2026-2602
- **Plugin:** Razorpay for WooCommerce (`woo-razorpay`), https://wordpress.org/plugins/woo-razorpay/
- **Affected versions:** all versions before 4.8.9
- **Fixed in:** 4.8.9 (Update to 4.8.9 or later.)
- **Severity:** Medium 5.9 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N)
- **Weakness:** CWE-89
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-11-05)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/woo-razorpay
- **Fix released:** 2026-11-04
- **Published:** 2026-11-05
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2602/

## Description

The Razorpay for WooCommerce plugin for WordPress is vulnerable to time-based blind SQL Injection via the 'woocommerce_order_id' payment note processed by the payment.authorized webhook in all versions up to, and including, 4.8.8, due to insufficient escaping and lack of preparation of the SQL query in saveWebhookEvent(). The webhook is signed by Razorpay, but the payment notes come from the checkout options in the shopper's browser. This makes it possible for unauthenticated attackers who complete a payment authorization with altered checkout notes to append additional SQL to an existing query and extract sensitive information from the database.

## References

- https://wpsec.com/vuln/WPSEC-2026-2602/
- https://plugins.svn.wordpress.org/woo-razorpay/tags/4.8.9/
- https://wordpress.org/plugins/woo-razorpay/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2602/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
