# Checkout.com Payment Gateway <= 5.1.5 - Unauthenticated Missing Authorization to Order Modification via Flow AJAX and 3DS Handlers

- **ID:** WPSEC-2026-2806
- **Plugin:** Checkout.com Payment Gateway (`checkout-com-unified-payments-api`), https://wordpress.org/plugins/checkout-com-unified-payments-api/
- **Affected versions:** from 5.0.0 before 5.1.6
- **Fixed in:** 5.1.6 (Update to 5.1.6 or later.)
- **Severity:** Medium 6.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N)
- **Weakness:** CWE-862
- **Usage among sites WPSec scans:** plugin Low, affected versions None seen (as of 2026-11-10)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/checkout-com-unified-payments-api
- **Fix released:** 2026-11-09
- **Published:** 2026-11-10
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2806/

## Description

The Checkout.com Payment Gateway plugin for WordPress is vulnerable to Missing Authorization via the public Flow AJAX actions 'cko_flow_save_payment_session_id' and 'cko_flow_submit_payment_session' and the Flow 3DS return handler in all versions up to, and including, 5.1.5. This is due to missing order ownership checks on the 'order_id' parameter: guest orders were only required to be pending or failed, and the order key was optional. This makes it possible for unauthenticated attackers to act on other customers' pending or failed guest orders by ID: they can link their own payment sessions and payments to those orders, have them marked as failed, and get the order key back through the payment return URL, which exposes the order's details.

## References

- https://wpsec.com/vuln/WPSEC-2026-2806/
- https://plugins.svn.wordpress.org/checkout-com-unified-payments-api/tags/5.1.6/
- https://wordpress.org/plugins/checkout-com-unified-payments-api/

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

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.
