# Razorpay for WooCommerce <= 4.8.8 - Unauthenticated Insecure Direct Object Reference via Magic Checkout Coupon Apply Endpoint

- **ID:** WPSEC-2026-2603
- **Plugin:** Razorpay for WooCommerce (`woo-razorpay`), https://wordpress.org/plugins/woo-razorpay/
- **Affected versions:** from 3.0.0 before 4.8.9
- **Fixed in:** 4.8.9 (Update to 4.8.9 or later.)
- **Severity:** Medium 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N)
- **Weakness:** CWE-639
- **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-2603/

## Description

The Razorpay for WooCommerce plugin for WordPress is vulnerable to Insecure Direct Object Reference via the Magic Checkout coupon-apply REST endpoint (/wp-json/1cc/v1/coupon/apply) in all versions up to, and including, 4.8.8, due to the route's permission callback always returning true and the handler not checking that the caller is tied to the supplied 'order_id'. This makes it possible for unauthenticated attackers to rebuild the cart from any customer's order and read that order's value through the discount amount returned for a coupon.

## References

- https://wpsec.com/vuln/WPSEC-2026-2603/
- 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-2603/

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.
