Balancer, 0x48cf, dTrinity: $121M Lost to Rounding Bugs, Upgrade Backdoors, and Missing Auth
One rounding flaw. One upgrade path. One unchecked function. Balancer’s precision bug let 17 wei drain $121M. 0x48cf handed out an upgrade slot with no validation. dTrinity skipped a simple auth check. These aren’t edge cases. They’re basics. And they’re still costing teams millions.
In Brief
Balancer lost $121.1M due to a rounding flaw in its stable pool math.
0x48cf lost $400K after an attacker upgraded its contract to a malicious implementation.
dTrinity lost $56K because swapLiquidity() lacked an authorization check.
Hacks Analysis
Balancer | Amount Lost: $121.1M
On November 3rd, the Balancer exploit across multiple chains resulted in a $121.1M loss. The root cause of the expoit was in the Composable Stable Pool’s _swapGivenOut() function, which upscaled swap amounts using the _upscale() function that rounded down instead of up. The attacker swapped precisely 17 wei of osETH, causing the upscaling calculation to lose 5.8% precision due to rounding. The attacker exploited this by repeatedly swapping BPT tokens for underlying assets like WETH and osETH and made a profit.
On October 27th, the 0x48cf exploit across Ethereum and Arbitrum resulted in a $400K loss. The root cause of the exploit was an unauthorized access attack where the attacker upgraded the victim’s contract to a malicious implementation containing a backdoor function. This backdoor contained a withdrawal function specifically designed to drain 481M Capital DAO Starter (CDS) tokens.
On September 28th, the dTrinity exploit on Sonic resulted in a $56K loss. affecting three team members. The root cause of the exploit was a missing authorization check in the swapLiquidity() function of the IOdosLiquiditySwapAdapter contract. The attacker called the swap function using victims’ addresses who had previously approved the adapter contract. This let the attacker withdraw victims’ collateral deposits (aTokens) without permission. The attacker used malicious swap routes that sent the collateral to attacker-controlled addresses while returning minimal amounts to pass validation. Three team members lost funds because they had approved the adapter during testing.
Press enter or click to view image in full size
Exploited Contract (on Sonic): 0x9ee939ddc8eaaac72d3cae793b12a09d92624e4a
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.
Follow-up: Conduct a follow-up review to ensure that the remediation steps were effective and that the smart contract is now secure.
Follow-up: Conduct a follow-up review to ensure that the remediation steps were effective and that the smart contract is now secure.
In Brief
Remitano suffered a $2.7M loss due to a private key compromise.
GAMBL’s recommendation system was exploited.
DAppSocial lost $530K due to a logic vulnerability.
Rocketswap’s private keys were inadvertently deployed on the server.
Hacks
Hacks Analysis
Huobi | Amount Lost: $8M
On September 24th, the Huobi Global exploit on the Ethereum Mainnet resulted in a $8 million loss due to the compromise of private keys. The attacker executed the attack in a single transaction by sending 4,999 ETH to a malicious contract. The attacker then created a second malicious contract and transferred 1,001 ETH to this new contract. Huobi has since confirmed that they have identified the attacker and has extended an offer of a 5% white hat bounty reward if the funds are returned to the exchange.