Why OWASP renamed this category in 2026
The 2026 list is the first time OWASP explicitly calls flash loans a facilitator, not a root cause. That is the right framing. A flash loan never extracts value on its own - it amplifies a bug that already exists somewhere else (typically SC02 business logic, SC03 oracle, or SC07 rounding). Treating it as a category teaches developers to assume flash loans exist and design protocols to be safe under that assumption.
How 2025 exploits played out
-
Bunni (Sep 2025) lost $8.4M when a rounding error in withdrawal was amplified through 44 chained tiny withdrawals after flash-borrowing 3M USDT. The flash loan was not the bug - the rounding was - but the loan turned a 0.05% leak into an $8.4M drain.
-
zkLend (Feb 2025) lost $9.5M when integer-division rounding in
mint()inflated the lending accumulator. Flash loans were the "force multiplier" that scaled the exploit to nine figures.
Why it jumped from #7 to #4
Two-thirds of 2025's biggest exploits used flash loans as a primitive. The composability premium has grown: every new protocol assumes flash loans exist, and attackers assume every protocol assumes that. The category is no longer a niche concern; it is a default attack tool.
How AI auditors handle this category
The hard part of flash loan exploits is the composition reasoning: which sequence of operations across which contracts in a single transaction extracts value? AI auditors can detect that a function uses a flash loan, but constructing the specific chain that breaks a particular protocol is still a multi-step economic argument. Stateful fuzzers like Echidna and Foundry's invariant testing close some of the gap, but only when the right invariants are written by a human first.
See /attacks/flash-loan-attacks for SCH's deep dive on the standard patterns.