{
 "id": "WPSEC-2026-2959",
 "url": "https://wpsec.com/vuln/WPSEC-2026-2959/",
 "json_url": "https://wpsec.com/vuln/WPSEC-2026-2959/advisory.json",
 "markdown_url": "https://wpsec.com/vuln/WPSEC-2026-2959/index.md",
 "title": "Checkout.com Payment Gateway <= 5.1.6 - Unauthenticated Missing Authorization to Order Modification via Flow Payment Session and Payment Return Handlers",
 "description": "The Checkout.com Payment Gateway plugin for WordPress is vulnerable to unauthorized order modification in all versions up to, and including, 5.1.6. The public Flow payment-session AJAX action (cko_flow_create_payment_session) passes the browser's reference, metadata (including order_id) and line items to Checkout.com, and also the amount when the cart is empty. The card payment return handler (wc-api=wc_checkoutcom_callback) then acts on the order named in the payment's metadata without checking that the request is linked to that order. The Flow 3D Secure return (wc-api=wc_checkoutcom_flow_process) builds a new order from the payment's details when no order matches. This makes it possible for unauthenticated attackers to create a payment that names another customer's unpaid order, move that order to on-hold, and be redirected to its order-received URL, which carries the order key. Attackers can also create orders made up of line items and prices they choose.",
 "plugin": {
  "slug": "checkout-com-unified-payments-api",
  "name": "Checkout.com Payment Gateway",
  "full_name": "Checkout.com Payment Gateway",
  "wordpress_org": "https://wordpress.org/plugins/checkout-com-unified-payments-api/",
  "advisories_url": "https://wpsec.com/vuln/plugin/checkout-com-unified-payments-api/",
  "attacksurface": "https://attacksurface.wpsec.com/plugin/checkout-com-unified-payments-api"
 },
 "type": "NO AUTHORISATION",
 "cwe": [
  "CWE-862"
 ],
 "cve": [],
 "cvss": {
  "version": "3.1",
  "score": 6.5,
  "vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N",
  "severity": "Medium"
 },
 "affected": {
  "ranges": [
   {
    "from": "5.0.0",
    "from_inclusive": true,
    "to": "5.1.7",
    "to_inclusive": false
   }
  ],
  "text": [
   "from 5.0.0 before 5.1.7"
  ]
 },
 "introduced_in": "5.0.0",
 "fixed_in": "5.1.7",
 "remediation": "Update to 5.1.7 or later.",
 "fix_released": "2026-11-10T11:45:20+00:00",
 "published": "2026-11-12T17:52:14+00:00",
 "updated": "2026-11-12T17:12:02.089658+00:00",
 "also_published_as": null,
 "references": [
  "https://wpsec.com/vuln/WPSEC-2026-2959/",
  "https://plugins.svn.wordpress.org/checkout-com-unified-payments-api/tags/5.1.7/",
  "https://wordpress.org/plugins/checkout-com-unified-payments-api/"
 ],
 "attacksurface_url": "https://attacksurface.wpsec.com/plugin/checkout-com-unified-payments-api",
 "source": "WPSec",
 "license": {
  "name": "CC BY 4.0",
  "url": "https://creativecommons.org/licenses/by/4.0/"
 },
 "usage": {
  "plugin": "Low",
  "affected_versions": "None seen",
  "as_of": "2026-11-12"
 }
}