【BitPush】Just reported a contract security incident. An attacker exploited an uninitialized EIP-7702 delegate contract vulnerability, successfully gaining owner permissions of the contract, and then directly withdrew all funds from the delegate address. On-chain monitoring data shows that the attacker has transferred 95 ETH (approximately $280,000) to Tornado Cash for mixing.
The key issue in this incident is the initialization flaw in the EIP-7702 delegate contract—because the contract was not properly initialized during deployment, the attacker was able to seize the owner role at a very low cost. Once controlling the owner permissions, withdrawing funds became a trivial task. After the funds were transferred to Tornado Cash, tracking them became significantly more difficult.
This serves as a reminder for developers to ensure the completeness of the initialization process when deploying delegate contracts, to prevent attackers from exploiting vulnerabilities. For ordinary users, it’s advisable to check whether new contracts have undergone security audits before interacting with them.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
10 Likes
Reward
10
4
Repost
Share
Comment
0/400
Web3ExplorerLin
· 15h ago
hypothesis: the uninitialized state pattern here basically mirrors the ancient city gates left unguarded... except the consequences are measured in eth rather than gold. brilliant execution by the attacker, tbh—found the one thread nobody pulled before deployment and just... yanked it. tornado cash cleanup is *chef's kiss* operational security theater at its finest
Reply0
PhantomMiner
· 15h ago
Is this another case of poor initialization? Developers need to learn their lesson this time...
View OriginalReply0
RooftopReserver
· 15h ago
Once again, the initialization wasn't done properly. These developers really need to be more careful. 95 ETH is gone just like that, and once it's in Tornado Cash, it's even harder to recover.
View OriginalReply0
ChainComedian
· 15h ago
Once again, the initialization wasn't done properly. These developers are really... 95 ETH just disappeared like that, and with Tornado, it's even harder to track. I’ve always said that the delegation mode needs to be handled with caution, but still, someone ended up crashing.
EIP-7702 vulnerability exploited, attacker siphons off 95 ETH into a mixer
【BitPush】Just reported a contract security incident. An attacker exploited an uninitialized EIP-7702 delegate contract vulnerability, successfully gaining owner permissions of the contract, and then directly withdrew all funds from the delegate address. On-chain monitoring data shows that the attacker has transferred 95 ETH (approximately $280,000) to Tornado Cash for mixing.
The key issue in this incident is the initialization flaw in the EIP-7702 delegate contract—because the contract was not properly initialized during deployment, the attacker was able to seize the owner role at a very low cost. Once controlling the owner permissions, withdrawing funds became a trivial task. After the funds were transferred to Tornado Cash, tracking them became significantly more difficult.
This serves as a reminder for developers to ensure the completeness of the initialization process when deploying delegate contracts, to prevent attackers from exploiting vulnerabilities. For ordinary users, it’s advisable to check whether new contracts have undergone security audits before interacting with them.