Dev.to
7/11/2026

Two Things Fintech Backends Get Wrong
Short summary
A payment infrastructure engineer outlines two common fintech backend mistakes: using unauthenticated encryption modes like CBC instead of AES-GCM, and relying on database constraints alone for webhook idempotency. The article explains padding oracle attacks, key rotation, and race conditions in duplicate webhook handling with concrete code examples.
- •AES-CBC without HMAC is vulnerable to padding oracle attacks; use AES-256-GCM for reversible encryption
- •Key management with versioned keys is the hard part, not the encryption call
- •Unique constraints on event IDs are necessary but not sufficient for webhook idempotency due to race conditions
Generated with AI, which can make mistakes.
Is this a good recommendation for you?



