The most studied vulnerability in the industry - now down to #8
Reentrancy has been on every smart-contract Top 10 since OWASP started publishing one. It started life as the bug that broke The DAO in 2016 ($60M, $3.6M ETH at the time). In OWASP 2025 it was #5. In 2026 it is #8.
The reason for the demotion is not that reentrancy stopped happening. It's that:
-
OpenZeppelin
ReentrancyGuard(and the transient-storage variant introduced with EIP-1153) is a near-default in 2026 codebases. -
Slither, Mythril, and Aderyn detect classic patterns with high precision.
-
Every senior auditor recognizes the canonical structure on sight.
The result is that reentrancy is now mostly a component of chained exploits (GMX V1 in 2025 is the canonical 2025 example) rather than the standalone root cause it used to be.
The reentrancy zoo
There are five categories worth distinguishing:
-
Single-function (the classic recursive variant).
-
Cross-function (callback into a sibling function).
-
Cross-contract (multi-hop callback through unrelated contracts).
-
Read-only reentrancy (a view function returns stale state during a callback - the cause of the 2023 Curve incident).
-
Callback hooks - ERC-777, ERC-721/1155 receivers, ERC-4626 hooks, flash-loan callbacks.
How AI auditors handle this category
This is the strongest AI category in OWASP 2026 - ~94% detection vs ~96% for human auditors. The reason is straightforward: reentrancy has a recognizable structural signature (external call before state update) and decades of labeled training data. Where AI still loses is read-only reentrancy and obscure callback chains, which are harder to spot from local patterns alone.
See SCH's full walk-through at /attacks/reentrancy.