{"id":"CVE-2026-115937","title":"Unauthenticated payment reuse allows unpaid orders to be marked as paid","summary":"The Mollie webhook endpoint accepts two independent, attacker-controlled parameters and never verifies that they belong together:\n\n  *  commerceTransactionHash — selects which Craft Commerce transaction is completed\n  *  id — selects whi…","severity":"high","cvss":7.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","cvssSource":"cna","cwe":["CWE-345"],"vendor":"craftcms","product":"craftcms/commerce-mollie","affected":["craftcms/commerce-mollie >= 2.1.1 < 4.4.3"],"published":"2026-10-23","updated":"2026-10-23","sourceUpdated":"2026-10-23T21:50:13.188Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-115937","references":[{"url":"https://www.hckrt.com/hacktivity/HCKRT-6RB2BC"},{"url":"https://github.com/craftcms/commerce-mollie/releases/tag/4.4.3"},{"url":"https://github.com/craftcms/commerce-mollie"},{"url":"https://github.com/craftcms/commerce-mollie/security/advisories/GHSA-3qcx-mjf6-48vj"}],"tags":["cve.org"],"ingestedAt":"2026-10-24T00:46:53.883Z","slug":"CVE-2026-115937","body":"## Overview\n\nThe Mollie webhook endpoint accepts two independent, attacker-controlled parameters and never verifies that they belong together:\n\n  *  commerceTransactionHash — selects which Craft Commerce transaction is completed\n  *  id — selects which Mollie payment is queried for its status\n\n\n\n\nAn unauthenticated attacker holding any paid Mollie payment ID from the merchant’s account can pair it with any transaction hash.\n\n\n\nCommerce queries Mollie, sees status: paid, and marks the target transaction successful for that transaction’s full\namount, regardless of how much was actually paid.\n\n## Affected\n\n- `craftcms/commerce-mollie >= 2.1.1 < 4.4.3`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}