Why this is a new 2026 category
OWASP carved out rounding and precision as a distinct category in 2026 because 2025's biggest math-related losses were not classic integer overflows - they were subtle arithmetic flaws where the math compiled, the tests passed, and a 1-wei rounding bias became a 7-figure exploit after enough iterations.
2025 incidents
-
Balancer V2 (Nov 2025) lost ~$128M when
_upscaleArrayrounding inmanageUserBalancewas combined with access-control issues. (OWASP cross-references this under SC01 because the access-control failure is the entry point, but the amplification is pure SC07.) -
zkLend (Feb 2025) lost $9.5M when integer-division rounding in
mint()inflated internal accumulators across many small mints. -
Bunni (Sep 2025) lost $8.4M when a withdrawal rounded down assumption broke under specific liquidity-burn sequences.
The ERC-4626 inflation attack family
A specific sub-pattern worth calling out: ERC-4626 vaults are vulnerable to first-depositor "inflation" attacks where rounding asymmetries on the first deposit let an attacker mint shares against minimal collateral. Modern vault implementations (OpenZeppelin 5.x) include _decimalsOffset to neutralize this, but custom vaults still ship the bug regularly.
How AI auditors handle this category
AI is moderately strong here. It detects divide-before-multiply and zero-supply edge cases. It is weakest on adversarial-sequence arithmetic - bugs that only appear after a specific multi-step sequence of operations. Fuzzers (Echidna, Medusa, Foundry) close most of that gap, but only when the right invariants are written first.