header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
扫码下载APP

Aku项目方价值3,400万美元ETH被永久锁定,系合约实现逻辑问题

2022-04-23 15:00
律动 BlockBeats 消息,4 月 23 日,NFT 项目方 Akutar 的 11,539.5 ETH(约合 3,400 万美元)被永久锁定在拍卖合约。 Aku 采用的是类似荷兰降价拍卖的形式,拍卖结束后会按照结束价格给用户退还超过最低价格的部分,因此这涉及 refund 以及 total bids 统计两个方面,而项目方在这两个方面均存在实现逻辑问题。据欧科云链链上天眼显示: 第一个漏洞,processRefunds() 会被恶意合约阻断,实现 DoS 攻击,也确有用户使用恶意合约阻断了 processRefunds()执行,但该名用户表示只是让项目方确认问题存在,随即设置恶意合约变量,使得 processRefunds()顺利执行完,因此该漏洞虽被利用,但已成功解决。 第二个漏洞,也就是真正导致项目方无法提款的关键所在,processRefunds()是按照 msg.sender 的数量记录在了 refundProgress 变量,拍卖结束项目方调用 claimProjectFunds() 取出合约内的 ETH 时,要求满足 refundProgress >= totalBids,而 totalBids 记录的是 NFT 的数量,合约最终状态 refundProgress 数值为 3669,totalBids 数值为 5495,从而导致项目方无法提取合约内的 11539.5 ETH。 需要指出的是,在执行 processRefunds()之前,参与拍卖的用户可以在三天后通过 emergencyWithdraw() 将个人投入的 ETH 取回,但由于 processRefunds()的执行,导致用户的拍卖状态由未处理变为 refund,从而不能再进行 emergencyWithdraw()。
举报 纠错/举报
本平台现已全面集成Farcaster协议, 如果您已有Farcaster账户, 可以登录 后发表评论
纠错/举报
提交
新增文库
仅自己可见
公开
保存
选择文库
新增文库
取消
完成