FUN:NFT项目Akutars资金锁定事件简析

据慢雾区消息,Akutars(@AkuDreams)项目拍卖合约由于多个代码缺陷导致11,539.5枚ETH永久无法取出。慢雾安全团队进行分析后以简讯的形式分享给大家。

1.Akutars拍卖合约中存在bid与processRefunds功能,用户分别可以进行拍卖出价与退款操作。

2.在拍卖结束后发起processRefunds退款操作时拍卖合约将遍历出价用户,并通过低级调用call为用户进行退款,但并未限制这一调用的gasLimit。而未做此gasLimit限制的情况下,拍卖合约将使用发起者的全部gas进行外部调用。

万事达卡推出Music Pass NFT:4月14日消息,万事达卡本周在年度NFTNYC会议期间推出了免费的Music Pass NFT,该NFT为万事达卡艺术家加速器计划的一部分。据悉,MastercardMusicPassNFT可在4月底之前在Polygon上进行免费铸造。持有该NFT的用户可以使用人工智能音乐生成器应用等功能,并有机会赢得6月份由万事达卡加速器计划中的艺术家主持的现场音乐会。(Decrypt)[2023/4/14 14:02:58]

3.但由于Akutars拍卖合约并不限制合约参与拍卖,因此“恶意用户”可以使用合约参与拍卖,并在其合约的接收以太函数中写入恶意消耗gas的逻辑,使得在进行退款流程时触发此用户合约,进而恶意消耗了调用发起者的全部gas,直接导致后续退款无法正常进行。

福布斯将于4月发行虚拟亿万富翁NFT:3月12日消息,福布斯杂志宣布将于4月发行主题为虚拟亿万富翁的NFT。据悉,该系列NFT是一个虚构的虚拟投资者,拥有庞大的理论投资组合,其虚拟净资产基于纽约证券交易所的实时定价、惊人的爱好和一个古怪的福布斯配饰,每天都会在即将推出的福布斯虚拟NFT亿万富翁名单上排名。(福布斯)[2022/3/12 13:51:52]

4.幸运的是此“恶意用户”仅仅只是做了风险验证测试,最终解除了恶意消耗gas的逻辑使得退款可以继续顺利进行。当然用户也可以在拍卖结束的3天后进行紧急退款。

MonsterWorld今日将在GodzillaLaunchPad发售NFT盲盒:据MonsterWorld官方消息,MonsterWorld将于北京时间11月18日20:00时在GodzillaLaunchPadNFT市场发售盲盒。Monster盲盒系列包含6种不同的怪兽。发售所得USDT将分别用于技术开发、营销和LP。怪兽均属于MonsterWorld元宇宙中的重要组成部分。据悉,MonsterWorld元宇宙游戏将在12月5日之前开放公测。GodzillaLaunchPad是由Godzilla团队开发的元宇宙发行和孵化DAO平台,包括LPFarming、NFT质押、IGO发行以及去中心化DEX等业务都即将在11月开放上线。[2021/11/18 22:01:32]

5.在用户退款完成后项目方可以通过claimProjectFunds功能提取合约中的拍卖所得。但拍卖合约在用户进行bid时使用totalBids与bidIndex记录用户所拍的数量与出价次数,而用户是可以在一次出价中任意选择所拍的数量的,因此在拍卖结束totalBids实际上大于bidIndex。当前totalBids为5495,bidIndex仅为3669。

6.但在claimProjectFunds函数中却要求refundProgress退款数必须大于等于totalBids,项目方本意应是为了保证全部用户完成退款后才可进行取款。而实际上refundProgress是根据出价人总数进行计算的,也就是全部退款完成refundProgress也只是会等于bidIndex。这就出现了refundProgress永远不会大于totalBids的情况。最终导致合约中11,539.5枚ETH永远无法取出。

综上,即使在用户无法退款问题被解决的情况下,由于出价人数与拍卖数量的计数不一致以及项目方取款函数的缺陷,最终都会导致Akutars资金被永久锁住的结果。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-0:929ms