Akutar NFT 损失 3400 万美元

在 @AkuDreams 合约中发现严重的逻辑漏洞,可能导致拒绝服务攻击和项目资金被永久锁定

Akutar NFT 损失 3400 万美元

我们发现 @AkuDreams 合约存在两个严重的逻辑漏洞(https://etherscan.io/address/0xf42c318dbfbaab0eee040279c6a2588fa01a961d)。第一个漏洞可能导致拒绝服务攻击,第二个漏洞将导致项目资金(超过 3400 万美元)被永远锁定。

漏洞一

第一个漏洞存在于 processRefunds 函数中。该函数有一个循环,用于退还每个出价用户的资金。然而,出价者可能是一个恶意合约,它会导致交易回滚。这可能导致 processRefunds 函数的调用回滚,并且用户的所有退款都无法成功。幸运的是,该漏洞尚未被利用。

我们建议合约可以采取以下措施来退还用户资金:

  • 确保只有 EOA(外部所有者账户)才能出价
  • 使用 ERC20 代币(例如 WETH)而不是 ETH
  • 提供一个允许用户自行退款的函数

漏洞二

第二个漏洞是一个软件 bug。在 claimProjectFunds 函数中,项目所有者可以领取合约中的 Ether。然而,require(refundProgress >= totalBids, "Refunds not yet processed"); 这个 require 语句有一个 bug,它应该比较 refundProgress_bidIndex,而不是 totalBids。由于这个漏洞,该条件将永远无法满足,合约中的 Ether(11,539.5 Ether)将被永远锁定。

总结

令我们惊讶的是(继昨天的 NBA NFT 事件之后),一个备受瞩目的项目竟然会忽略基本的软件安全实践。至少,项目应该编写足够的测试用例。不幸的是,我们怀疑项目方过于忙碌而无法编写测试用例,导致永远损失 3400 美元。

关于 BlockSec

BlockSec 是一家开创性的区块链安全公司,由一群全球知名的安全专家于 2021 年创立。公司致力于提升新兴 Web3 世界的安全性和可用性,以促进其大规模采用。为此,BlockSec 提供智能合约和 EVM 链安全审计服务,用于主动开发和阻止威胁的 Phalcon 平台,用于资金追踪和调查的 MetaSleuth 平台,以及用于 Web3 构建者在加密世界高效冲浪的 MetaDock 扩展。

迄今为止,公司已为 MetaMask、Uniswap Foundation、Compound、Forta 和 PancakeSwap 等 300 多家知名客户提供服务,并从 Matrix Partners、Vitalbridge Capital 和 Fenbushi Capital 等杰出投资者那里获得了两轮数千万美元的融资。

官方网站:https://blocksec.com/

官方 Twitter 账号:https://twitter.com/BlockSecTeam

Sign up for the latest updates