Sherlock AI 报告了 @40acresFinance 协议中的一个关键漏洞。 40acres 团队慷慨地允许我们公开分享细节,以便其他人可以从这一发现中学习。 漏洞的工作原理如下: 首先,veNFT 是一种特殊类型的投票托管 ERC721 代币,可以获得每周奖励。 40acres 为 veNFT 持有者提供基于其 veNFT 未来收入的即时贷款访问。 每个借款人的 veNFT 存放在个人 PortfolioAccount 中,该账户通过模块化“面”使用钻石代理模式路由功能。 该漏洞允许攻击者在未偿还贷款的情况下,从其 PortfolioAccount 中收回其抵押品(veNFT)。 请查看下面的 aerodromeVote() 函数。40acres 有一个非常酷的功能,允许借款人用作为抵押的 veNFT 进行投票。 该函数存在以下问题:loanContract 地址未经过验证,允许恶意用户指定任意合约。该合约可能被批准控制 PortfolioAccount 中的 veNFT,从而在恶意 loanContract 的 vote() 调用期间启用其转移。 攻击步骤 1) 攻击者部署一个恶意合约,该合约实现了调用 transferFrom/safeTransferFrom 来转移已批准的 veNFT。 2) 攻击者调用 portfolioAccount.aerodromeVote(maliciousContract, tokenId)。portfolio fallback 委托给面,但缺乏输入验证,并调用并将 veNFT 转移回攻击者,即使贷款尚未偿还。 注意:漏洞的重复利用导致借贷池被抽干——只需做一次就是借款并偷回你的 veNFT。 影响 系统内的无担保贷款。任何借款人都可以在贷款中期收回自己的抵押品,导致借贷池完全破产。 致谢 感谢 @defsec_、@vinica_boy 和 @onthehunt11_ 对这篇文章的帮助。 重要信息:40acres 团队在发布前发现了该漏洞并进行了修复。 由 Sherlock AI 检测 您可以在下一条推文中查看 Sherlock AI 生成的原始问题。 整个过程从开始到结束耗时 3 小时 59 分钟。 Sherlock AI 为开发过程带来了安全性,早期扫描提交和调用路径,快速发现高影响缺陷,并为审计人员提供更清晰的复杂系统可见性。实际上,这意味着像这样的漏洞可以在审计、悬赏或部署之前被捕获和解决。 今天就试试 Sherlock AI 为您的协议。
由 Sherlock AI 生成的原始问题: 由 Sherlock AI 生成的原始问题: 今天就为您的团队尝试 Sherlock AI:
32.12K