All case studies
Digital Wallet / Payments App

Wallet-to-Wallet Theft by Swapping Two JSON Fields

API VAPTFintechBusiness Logic

The transaction API trusted client-supplied account information instead of deriving transaction ownership from the authenticated session.

Digital wallet API security assessment showing payment transaction and authorization controls

Technical Overview

A P2P wallet-transfer endpoint accepted sender and receiver information directly from the client request. Testing demonstrated that the backend did not sufficiently verify that the authenticated user was authorized to initiate the transaction from the specified source account. A separate review of transaction processing also identified insufficient idempotency controls around repeated payment requests.

Impact

A business-logic weakness created a potential path to unauthorized wallet transactions and transaction duplication.

Recommendation

Derive transaction ownership exclusively from the authenticated server-side session, validate authorization before every transaction, and enforce atomic idempotency controls at the database layer.

Need an assessment?

Find the weaknesses before someone else does.

Tell us what you're building, what you're protecting, or what you're concerned about. We'll help identify the appropriate security assessment.

Request an assessment