Wasabi, Ycdeal3, and Denaria Finance Exploits: $5.35M Lost to Private Key Compromise, Missing Access Control, and Rounding Error Conversion Flaws
This week's exploit roundup covers three incidents totaling $5.35M in losses across Ethereum, Base, Blast, Berachain, and Linea. Wasabi lost $4.8M after a public AWS debugging endpoint exposed credentials that compromised the private keys controlling its smart contracts. Ycdeal3 lost $388K when its RWAVaul withdraw() function failed to verify caller authorization, letting an attacker drain victim addresses by specifying them as owners while routing funds to an attacker-controlled receiver. Denaria Finance lost $166K to a rounding asymmetry in its private _trade() function, where additions rounded down and subtractions rounded up, eventually pushing the liquidity matrix into negative territory and triggering an int256 to uint256 conversion that returned the maximum integer value.
In Brief
Wasabi lost $4.8M due to a private key compromise.
Ycdeal3 lost $388K due to a missing access control check in withdraw().
Denaria Finance lost $166K due to a rounding error and flawed int256 to uint256 conversion.
Hacks Analysis
Wasabi | Amount Lost: $4.8M
On April 30th, the Wasabi exploit on multiple chains resulted in a $4.7M loss. The root cause of the exploit was exposed server credentials that led to a private key compromise. A public AWS server had a debugging feature enabled without proper protection. The attacker accessed this endpoint and compromised the private keys controlling Wasabi’s smart contracts. The exploit affected Wasabi pools on Ethereum, Base, Blast and Berachain.
One of Multiple Transactions: 0xcd77423f1bfa362c43f98356360c1f6c6e5fe989f18036e874884e9ad4a70116
Ycdeal3 | Amount Lost: $388K
On April 28th, the Ycdeal3 exploit on the Ethereum mainnet resulted in a $388K loss. The root cause of the exploit was a missing access control check in the RWAVaul withdraw() function. The contract allowed users to specify both a receiver and an owner, but it never verified that the caller was authorized to withdraw on behalf of the owner. This allowed the attacker to use victim addresses as the owner while setting their own contract as the receiver. The attacker called the withdraw() function with multiple victim addresses and drained funds.
On April 5th, the Denaria Finance exploit on Linea resulted in a $166K loss. The root cause of the exploit was a rounding error combined with a flawed int256 to uint256 conversion. The private _trade() function updated its liquidity matrix using different rounding rules: additions rounded down while subtractions rounded up. Each trade introduced a rounding loss of 1 wei. These rounding errors caused the internal matrix value to become negative over multiple trades. The contract then converted this negative int256 value into a uint256, which resulted in the maximum possible integer value. This allowed the attacker to drain the entire pool.
Exploited Contract (on Linea): 0xb68396dd4230253d27589e2004ac37389836ae17
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.