Reproduced Exploit
Strata Tranches — donation-prevention gamed → withdrawals stuck
Donate to Strategy before first deposit → first mint is 1 wei of shares. Later large deposits still leave totalSupply < MIN_SHARES. Every withdraw reverts; capital stuck.
Chain
Other
Category
untagged
Date
Oct 2025
Source
AuditVault
EVM Playground
Source-level debugger — step opcodes and Solidity in sync
The attack is replayed in an in-browser EVM preloaded with the exact dumped fork state. The execution tree shows every call; step by Solidity line or by opcode across all depths — source, Stack, Memory, Storage, Balances (native / ERC-20 / NFT), Transient storage and Return value stay in sync. Click a tree node, opcode, or source line to jump. No backend, no live RPC.
Source & credit. Reproduction of a public audit finding curated by AuditVault — the original finding: 63224-mechanism-to-prevent-donation-attack-can-be-gamed-to-cause-w. Standalone Foundry PoC and full write-up: 63224-mechanism-to-prevent-donation-attack-can-be-gamed-to-cause-w_exp in the
evm-hack-registrymirror.
Vulnerability classes: frozen-funds · donation inflation · MIN_SHARES
Reproduction: self-contained Foundry PoC, forge-std only.
AuditVault taxonomy: severity/high · sector/vault · platform/cyfrin · frozen-funds · locked-funds
Key info#
| Impact | HIGH — all withdrawals revert MinSharesViolation; assets trapped in Strategy |
| Protocol | Strata Tranches |
| Vulnerable code | _onAfterWithdrawalChecks requires totalSupply >= MIN_SHARES |
| Bug class | Donation inflation under min-share floor |
| Finding | Cyfrin · Strata 2025-10-08 · #63224 |
TL;DR#
Donate to Strategy before first deposit → first mint is 1 wei of shares. Later large deposits still leave totalSupply < MIN_SHARES. Every withdraw reverts; capital stuck.
The vulnerable code#
if (totalSupply < MIN_SHARES) revert MinSharesViolation(); // @> VULN
// FIX: seed dead shares / sweep donations before enabling deposits
Diagrams#
Impact#
User-deposited assets cannot be withdrawn from Strategy.
Sources#
- AuditVault #63224
- Cyfrin Strata
- Fixed: Strata-Money/contracts-tranches@f344885
Sources & further analysis#
Reproductions & code
- Standalone PoC + full trace: 63224-mechanism-to-prevent-donation-attack-can-be-gamed-to-cause-w_exp (evm-hack-registry mirror).
- AuditVault finding: 63224-mechanism-to-prevent-donation-attack-can-be-gamed-to-cause-w.
Alerts & third-party analyses
These dashboards index community alerts tweets, post-mortems, and independent write-ups. Reach them through the protocol name above to cross-check this reproduction against other analyses.