Description
Business::GoCardless versions before 1.01 for Perl complete redirect flows without checking the session token, letting a leaked redirect flow ID create payments against another customer's mandate.

confirm_resource takes no session token from the caller. It reads the redirect flow back from the GoCardless API and completes it with the token from that response, so the check that the flow is completed by the session that started it always passes. It then creates the requested payment or subscription against the flow's mandate. Since version 1.00, a flow that already has a mandate is returned as confirmed without being completed again, so the same ID creates a new payment on every call.

A remote attacker who obtains another customer's redirect flow ID can create payments or subscriptions against that customer's mandate.
Published: 2026-10-30
Score: n/a
EPSS: n/a
KEV: No
Impact: Unauthorized Payment Creation
Action: Patch
AI Analysis

Impact

Business::GoCardless for Perl versions earlier than 1.01 fails to validate the session token when confirming a redirect flow. The module reads a redirect flow from the GoCardless API and completes it using the token supplied in that response, bypassing any check that the session completing the flow matches the original session. As a result, an attacker who obtains a redirected flow ID can trigger the flow to be confirmed and create a payment or subscription against the customer's mandate. This creates an authorization bypass that permits unauthorized financial transactions, undermining the integrity of the payment system.

Affected Systems

The affected product is the Business::GoCardless Perl module, with all releases prior to version 1.01. In these versions the confirm_redirect_flow routine does not enforce session token verification, allowing the flow ID to be used by any party who can supply it. No other vendors or products are affected according to the CNA data.

Risk and Exploitability

The vulnerability has no EPSS score and is not listed in CISA KEV, but its severity is driven by the capacity to generate payments without legitimate authorization. An attacker only needs to learn or predict a customer's redirect flow identifier, a task that may be accomplished through phishing, exposed API credentials, or other means. Once the identifier is known, the module will auto‑confirm the flow and create a new payment or subscription with no further authentication, enabling remote exploitation over the network. Because of the direct monetary loss potential, the risk to affected organizations is high.

Generated by OpenCVE AI on October 30, 2026 at 14:57 UTC.

Remediation

Vendor Solution

Upgrade to Business-GoCardless 1.01 or later.


OpenCVE Recommended Actions

  • Upgrade to Business::GoCardless 1.01 or later, which enforces session token verification when confirming redirect flows.
  • Limit the exposure of redirect flow identifiers by transmitting them only over secure channels and avoiding logging or storage in insecure locations, and audit confirmations for anomalous activity.
  • Add server‑side checks to verify that the session completing a redirect flow matches the session that created it, preventing the authorization bypass.

Generated by OpenCVE AI on October 30, 2026 at 14:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 13:00:00 +0000

Type Values Removed Values Added
Description Business::GoCardless versions before 1.01 for Perl complete redirect flows without checking the session token, letting a leaked redirect flow ID create payments against another customer's mandate. confirm_resource takes no session token from the caller. It reads the redirect flow back from the GoCardless API and completes it with the token from that response, so the check that the flow is completed by the session that started it always passes. It then creates the requested payment or subscription against the flow's mandate. Since version 1.00, a flow that already has a mandate is returned as confirmed without being completed again, so the same ID creates a new payment on every call. A remote attacker who obtains another customer's redirect flow ID can create payments or subscriptions against that customer's mandate.
Title Business::GoCardless versions before 1.01 for Perl complete redirect flows without checking the session token, letting a leaked redirect flow ID create payments against another customer's mandate
Weaknesses CWE-639
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-30T12:56:46.887Z

Reserved: 2026-10-29T11:38:31.745Z

Link: CVE-2026-119038

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-30T13:18:32.783

Modified: 2026-10-30T13:18:32.783

Link: CVE-2026-119038

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T15:00:15Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key