Numbers Protocol Hack
What happened
On November 23, 2022, 557,754.45 NUM was drained from one holder's wallet on Ethereum. The holder had earlier given the Multichain (formerly Anyswap) Router v4 an unlimited approval for NUM. The theft came through the router's anySwapOutUnderlyingWithPermit function, the same function behind a roughly $1.4 million Multichain exploit in January 2022. Numbers Protocol said the abuse of the v4 router depended on the fallback function in the NUM token contract. NUM has no permit function, so a forged permit call did not fail.
The stolen NUM was swapped on Uniswap into about 13,822 USDC and then about 11.93 WETH, worth roughly $13,800 at the time. The draining transaction was sent through an MEV bot contract that paid about 10.09 ETH to the block builder. This matches reports that a bot front-ran the original attacker and gave most of the profit to the builder.
Numbers Protocol told users to disconnect their wallets from Multichain swaps, stop using those services and avoid unlimited token approvals. It asked Multichain to upgrade the NUM router from v4 to v6 and planned a NUM token contract upgrade within 10 days. It also confirmed that its other bridge partner, XY Finance, was not affected.
Draining transaction: 0x8a8145ab28b5d2a2e61d74c02c12350731f479b3175893de2014124f998bff32
How it happened
- A NUM holder had approved the Multichain Router v4 to spend NUM without limit.
- The router's
anySwapOutUnderlyingWithPermitfunction did not properly check the token it was handed. It could be given an attacker-supplied token wrapper whose underlying asset was NUM. - The router then tried to call
permiton NUM to authorize spending. NUM has nopermitfunction, but its fallback function did not revert, so the forged signature was accepted without error. - With no revert, the router used the holder's existing approval to pull 557,754.45 NUM from their wallet to the caller.
- The NUM was sold on Uniswap for USDC and then WETH. The winning transaction came from a front-running MEV bot that paid about 10.09 ETH of the proceeds to the block builder.
Protocol details
Evidence
- report Post-mortem medium.com
- report Report neptunemutual.com
- transaction Etherscan transaction 0x8a8145ab...bff32 etherscan.io
- analysis DeFiLlama defillama.com
- analysis Numbers Protocol's Multichain NUM Bridge Exploited as User Loses 13 ETH nftgators.com
- analysis 2022 Multichain Hack: Check If You're Affected revoke.cash
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.