Hacks / Statistics / Q2 2024

Q2 2024 Exploit Report

April–June 2024: 58 reproduced exploits, $88.2M in stated losses.

58 exploits from April–June 2024 are reproduced in the library, the same number as in Q1 2024. 53 of them state a dollar loss, $88.2M in total, against $143M the quarter before. Access Control was the most common root-cause category, on 28 of the 58 incidents (48%). BNB Chain had the most incidents (35), while Ethereum carried the largest stated losses ($75M). The largest stated loss was Hedgey Finance Exploit at $48M, 54% of the quarter's stated total.

Incidents

58

58 in Q1 2024.

Stated losses

$88.2M

53 of 58 incidents state a dollar figure. $143M in Q1 2024.

Largest stated loss

$48M

Hedgey Finance Exploit

Most common root cause

Access Control

On 28 of 58 incidents.

Root causes

How many of the quarter's incidents carry each category.

Access Control28Logic26Oracle Manipulation19Arithmetic8DeFi8Dependency8Governance3Authentication2Reentrancy1

An incident with two categories counts under both.

View as table
CategoryIncidentsStated losses
Access Control28$61.9M
Logic26$6.7M
Oracle Manipulation19$23.8M
Arithmetic8$8.4M
DeFi8$98.5K
Dependency8$50.2M
Governance3$19.4M
Authentication2$349K
Reentrancy1$350K

Chains

Where the exploited contracts were deployed.

BNB Chain35Ethereum13Arbitrum4Base4Blast1Linea1
View as table
ChainIncidentsStated losses
BNB Chain35$2.6M
Ethereum13$75M
Arbitrum4$605K
Base4$1.7M
Blast1$1.4M
Linea1$6.9M

Largest stated losses

The 5 incidents of the quarter with the largest stated loss. Select a bar to open the write-up.

View as table
IncidentChainStated loss
Hedgey Finance ExploitEthereum$48M
UwuLend Exploit (#1)Ethereum$19.3M
Velocore V2 ExploitLinea$6.9M
UwuLend (2nd hack)Ethereum$3.7M
XBridge ExploitEthereum$1.6M

Every incident of the quarter

Largest stated loss first. Each opens the root-cause write-up and the runnable replay.

IncidentStated loss
Hedgey Finance ExploitDangling Approval to Attacker-Controlled tokenLocker$48M
UwuLend Exploit (#1)sUSDe Oracle Manipulation via Curve Spot Prices in the Median$19.3M
Velocore V2 ExploitfeeMultiplier Overflow Turns a Withdrawal Into a Pool Drain$6.9M
UwuLend (2nd hack)Hardcoded $1.04 sUSDE Oracle + Live 80% Liquidation Threshold$3.7M
XBridge ExploitPermissionless listToken() Hijacks Token Ownership Then Drains Bridge Reserves$1.6M
Pike Finance ExploitUnguarded initialize() → UUPS Upgrade Hijack → ETH Drain$1.6M
Bazaar (Ryolo LBP) ExploitMissing exitPool Authorization Burns a Victim's Pool Shares to the Attacker$1.4M
Sonne Finance ExploitEmpty-Market Exchange-Rate Inflation (CompoundV2 Donation Attack)$724K
Trade On Orion (Orion Protocol BSC) ExploitredeemAtomic Missing Position Check + Liability-Free requestReleaseStake$645K
NORMIE ExploitPhantom Self-Mint via the premarket_user Flag + skim() Recycling$490K
Predy Finance ExploitPermissionless Pair Registration + Lock-Settlement Bypass Drains the Shared Pool$464K
Sumer Money ExploitReentrancy via repayBorrowBehalf Refund Inflates the ETH cToken Exchange Rate$350K
Galaxy Fox (GFOX) ExploitPermissionless setMerkleRoot() Lets Anyone Forge an Airdrop Claim$330K
SCROLL Token ExploitUniswap UniversalRouter Drained via a balanceOf == type(uint256).max Trap Token$290K
OpenLeverage (OPBorrowing) ExploitSelf-Liquidation Bad-Debt Drain via 1inch-Callback Price Manipulation$234K
Chainge Finance ExploitArbitrary External Call in MinterProxyV2.swap() Drains Approvals$200K
Liquidity Tokens (TLN / VOW / VUSD) ExploitLP-Stake Reward Inflation & 1:1 TLN→vUSD Redemption$200K
MetaDragon (P404) ExploitPermissionless NFT Burn Mints Free ERC20$180K
TSURU Wrapper ExploitUnprotected onERC1155Received Free-Mint Drains the LP$140K
Z123 (SesameCloudToken) ExploitCustom-Router update() Pool-Burn Arbitrage$135K
OSN ExploitLP-Dividend Farming via Instant setBalance→processAccount Reward Payout$109K
MARS ExploitFlash-Loan Reflection/Reserve Desync on a Fee-on-Transfer Pair$100K
NGFS (FENGSHOU) ExploitPermissionless Privilege-Escalation Chain → Unlimited Mint$95.9K
Yield Protocol Strategy ExploitLive-Balance burn() Donation Inflation$95.2K
SteamSwap (MineSTM) Exploitsell() Redeems the Protocol's Own LP To Any Caller$91.5K
SQUID Token ExploitPermissionless 1:1 V1→V2 Migration + Public sellSwappedTokens Drain$87K
YIEDL SpotVault ExploitZero-Share redeem() Token-Drain via Attacker-Controlled Swap Routing$77K
GROKD ExploitPermissionless updatePool() + depositFromIDO() Reward Pool Drain$72.7K
INcufi (AkitaDefender) ExploitSelf-Referral Commission Farming + Un-collateralized 1:1 swapCommision$59.6K
Unverified Contract 0x00C409 ExploitManipulable AMM Callback Drains WETH Reserves$56K
WILL "Trading" ExploitOver-Sized, Slippage-Free settleExpiredPositions() Buy-Back Sandwich$52.8K
Rico / Ricobank ExploitArbitrary-Target flash() Drains the Bank's Reserves$36K
APEMAGA ExploitPublic family() Backdoor Burns 99.9% of the Pool's Token Reserve$34K
JokInTheBox Staking ExploitMissing unstaked Guard ⇒ Infinite Re-Unstake Drain$33K
GPU Token ExploitSelf-Transfer Balance Doubling$32K
TGC ExploitBroken Pledge-Reward Math Mints 113,000× the Stake$29.6K
YYS / YYSCoin Exploitsell() Returns the Tokens It "Sold" (Double-Payout Drain)$28.9K
UPS (UtopiaSphere) ExploitSell-Side _swapBurn Drains the LP Pair via skim$28.1K
SATX ExploitPermissionless destroyPoolToken() Reserve Manipulation + skim() Drain$28K
Hackathon Token Exploitsender == recipient == pair Double-Credit Balance Inflation via skim()$20.9K
TCH ExploitSignature-Replay Loophole + Pool-Reserve _burn/sync() Price Manipulation$18.6K
EXcommunity (EXboy / EXgirl) ExploitpurchasedAmount Inflation via Zero-Value transferFrom + Pool Donation$18K
WSM Presale ExploitSpot-Oracle Price Manipulation in buyWithBNB() via Flash-Loan Pool Crash$18K
CRB2 Token ExploitFee-on-Transfer Reflection Drain via Self-sellToken Loop$15.1K
GFA (Generation Finance Academy) ExploitPermissionless setReward / generateReward Self-Mint$14.7K
MineSTM Exploitsell() Redeems the Protocol's Own LP at an Attacker-Manipulated Price$13.8K
RedKeys Game ExploitPredictable On-Chain "Randomness" Lets the Player Always Win$12K
MixedSwapRouter ExploitArbitrary transferFrom via Fake "Pool" + Same-Token Path$10K
NCD ExploitUncapped Self-Mint Staking Reward Farmed Across Disposable Contracts$6.5K
BigBangSwap ExploitsellRewardToken Pays Out Against a Richer Pool Than the Seller Bought From$5.1K
pNetwork Burner ExploitPermissionless convertAndBurn() + Slippage-Free Kyber Trade → Sandwich$5K
BNBX ExploitUnprotected Public transferFrom Drains Every Approver$2.8K
Dyson.money ExploitPermissionless harvest() Sandwich Steals Pending Yield from a Near-Empty Vault$1.8K
ATM Token ExploitForced Zero-Slippage Auto-Swaps Drained via transfer + skimnot in dollars
FIL314 ExploitPermissionless hourBurn() Crushes the Self-Contained AMM Reservenot in dollars
Hoppy The Frog ExploitTax-Token Auto-Swap Reserve Manipulationnot in dollars
SATURN Token ExploitAutoNukeLP Burns the Pool's Reserve on Every Sellnot in dollars
WIFCOIN (WIFStaking) ExploitTime-Ungated claimEarned() Reward Loop Drains the Staking Poolnot in dollars

A loss is the first dollar figure the write-up states, often for the reproduced transaction and sometimes for the whole campaign. The library counts exploits reproduced here, not every incident in the industry. How these numbers are made.