---
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'
---

## Overview

The Mollie webhook endpoint accepts two independent, attacker-controlled parameters and never verifies that they belong together:

  *  commerceTransactionHash — selects which Craft Commerce transaction is completed
  *  id — selects which Mollie payment is queried for its status




An unauthenticated attacker holding any paid Mollie payment ID from the merchant’s account can pair it with any transaction hash.



Commerce queries Mollie, sees status: paid, and marks the target transaction successful for that transaction’s full
amount, regardless of how much was actually paid.

## Affected

- `craftcms/commerce-mollie >= 2.1.1 < 4.4.3`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
