TL;DR: Fraudsters exploited a race condition by opening three authenticated sessions on one account and submitting three payments at the same moment, so each transaction passed limit and balance checks in isolation, according to Transmit Security. Session-isolated controls can fail when real-time rails and concurrent contexts are combined.
Editorial analysis by NHI Mgmt Group, based on content published by Transmit Security: “Three Sessions. One Moment. A Very Expensive Lesson — That Someone Else Didn’t Have to Learn”.
Key questions
Q: What breaks when payment controls evaluate each authenticated session separately?
A: Controls that judge each session in isolation can approve transactions that are individually valid but collectively impossible.
Q: Why do instant payment rails make multi-session fraud harder to stop?
A: Instant rails compress the decision window so settlement can complete before manual review or downstream monitoring can intervene.
Q: How can security teams detect concurrent session abuse before authorising a payment?
A: Look for multiple live authenticated contexts tied to the same account, especially when they are submitting value-moving actions inside a tight time window.
Practitioner guidance
- Map account-level concurrency checks Identify where payment authorisation still evaluates one session at a time and add account-scoped correlation before approval.
- Instrument live session correlation Track concurrent authenticated sessions tied to the same account, then feed that signal into fraud decisioning while the payment is still pending.
- Review race-condition exposure in instant rails Test whether transaction limits, balance checks, and approval paths can be bypassed by parallel submissions from multiple browser contexts.
Bottom line: The attack worked because separate authenticated sessions were treated as separate decisions even though they targeted the same account.
Explore further
View Full Forum → | NHI Foundation Course → | Our Services → | Read the full analysis →
Session isolation is the wrong control boundary for real-time payments: when one account can hold multiple authenticated contexts at once, per-session checks no longer describe the real risk. The fraud decision is being made at the account level, but the control is still thinking at the session level. That mismatch creates a blind spot that only appears when timing matters. Practitioners need to treat concurrent session coordination as part of payment authorisation design, not as an edge case.
A question worth separating out:
Q: Who should own controls for multi-session payment fraud?
A: Ownership should sit across IAM, fraud, and payment operations because the failure spans session state, transaction authorisation, and settlement behaviour. If those functions work separately, each may see only a fragment of the attack. Shared control ownership is the only reliable way to close the seam.
👉 Read our full editorial: Multi-session fraud exposes the blind spot in real-time payment controls