Definition
A race condition in a transactional workflow arises when validation and commitment are separated in time, and concurrent requests can both pass validation against the same pre-commit state.
Why sequential testing misses it
Tested one at a time, the logic is correct: the balance is checked, the operation proceeds, the balance is updated. The defect only appears when requests overlap, which ordinary functional testing and most scanning never attempt.
State worth testing concurrently
- Balances, wallets and stored credit
- Single-use coupons, vouchers and referral rewards
- Inventory and seat reservations
- Withdrawal, transfer and refund operations
- Rate-limited or quota-bound actions
- User
- Concurrent Requests
- State Race
- Duplicate Action
- Financial Impact
Each hop validated by successful exploitation
Tags
- race condition
- concurrency
- payments