UND:惊现低级漏洞?简析NFT项目Akutar资金锁定事件

2022年4月23日,成都链安链必应-区块链安全态势感知平台舆情监测显示,NFT项目方Akutar的AkuAuction合约由于智能合约本身漏洞,导致11539ETH被锁死在合约中。成都链安技术团队第一时间对事件进行了分析,结果如下。

成都链安技术团队立刻进行了分析。

漏洞合约:

0xf42c318dbfbaab0eee040279c6a2588fa01a961d

#2?漏洞分析

Alameda Research 前联席首席执行官:2022年3月FTX.com的现金赤字已超100亿美元:7月21日消息,据最新的法庭文件显示,从FTX.com交易所成立之初,FTX就将客户存款和公司资金混在一起,并肆意滥用。到2022年8月,Bankman-Fried、Wang、Singh和Ellison私下估计,FTX.com交易所欠客户的法定货币超过80亿美元,但无法偿还。为了掩盖亏空,SBF等人在FTX.com上创建了一个虚假的客户账户,他们称之为我们韩国朋友的账户。尽管媒体关注的焦点是SBF在2022年8月对韩国朋友虚假账户所反映的89亿美元现金负债的估算,但SBF等人的估算甚至更高。譬如,2022年3月,AlamedaResearch前联席首席执行官CarolineEllison在私人笔记中估计,仅FTX.com的现金赤字就超过100亿美元。[2023/7/21 11:08:36]

Akutar项目的智能合约包含2个漏洞:

英国加密数字资产全党议会小组呼吁新首相明确加密货币态度:10月26日消息,英国加密和数字资产全党议会小组(APPG)主席Lisa Cameron表示,在英国任命Rishi Sunak为英国新首相之后,“英国加密货币和数字资产公司迫切需要明确英国政府对加密货币政策的态度”,Cameron表示,加密货币企业需要能够提供监管清晰度和业务确定性的监管。

此前报道,Rishi Sunak曾在担任英国财政大臣事发推表示要将努力使英国成为全球加密资产中心。[2022/10/26 16:39:17]

3.因此如果此时有攻击者在队列中进行退款操作,调用call退款给攻击者时,攻击者在fallback中进行进行恶意的revert则会导致退款队列卡在攻击者这里,从而导致队列后面的所有人都无法进行退款。

OP今日一度突破2.2 USDT,24H涨幅近30%:8月4日消息,行情显示, Optimism(OP)今日上午一度涨至2.2398 USDT,现报2.1464 USDT,24H涨幅为29.43%。[2022/8/4 4:40:46]

4.这个漏洞被人在链上证明有效,但随后攻击合约便进行了解锁,并没有进行攻击利用,且公开进行了申明。

漏洞二:

该漏洞也是导致价值约3400万美元的ETH资产被锁死在合约中的元凶。

1.在claimProjectFunds函数中,该函数主要用于项目方提款。为了避免项目方权限过大,在用户完成提款之前就将合约中的资产全部转走导致用户无法退款,所有的退款操作应全部完成之后项目方才能够提款。业务逻辑设计上来说,是没有问题的。然而,在具体的代码实现中,当前的代码容易受到漏洞一的影响,导致项目方无法提款,不过这只是潜在的风险,本次资金锁死的元凶不是这个原因。

2.注意函数中第620行代码:require此处refundProgress表示已经处理了多少个用户的退款,totalBids表示所有用户总投标了多少个NFT。注意由于一个用户可以投标多个NFT,导致单从数值上比较,refundProgress可能小于totalBids。

而再来看看退款函数processRefunds中:require(_refundProgress<_bidIndex);bidIndex表示所有参与竞标的用户,refundProgress永远不会高于bidIndex。

此时来看看bidIndex的值,为3669:

totalBids的值为5495:

3.所以refundProgress>=5495且refundProgress<3669这个判断条件永远不会成立,最终导致项目方团队将永远无法执行后续的提款操作。此处应将refundProgress与bidIndex做对比,开发者犯了一个很低级的错误。最终,导致项目方11539ETH(价值约3400万美元)被锁定无法提取。

#3?总结

针对本次事件,成都链安技术团队建议:

1.开发者应具备基本的安全开发意识,熟悉智能合约开发应注意的安全问题;

2.在合约设计和实现时,注意代码实现的正确性,项目上线前,可选择专业的安全审计公司进行全面的安全审计,规避安全风险。

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

金星链

[0:62ms0-0:609ms