FlashLoopAdapter 漏洞被利用,Aave 关联 Safe 钱包损失 30.5 万美元

ETH
WETH
访问控制漏洞FlashLoopAdapterSafe钱包闪电贷SlowMistAave v3
1 小时前来源: crypto.news
FlashLoopAdapter 漏洞被利用,Aave 关联 Safe 钱包损失 30.5 万美元

一个用于管理 Aave v3 杠杆仓位的自定义 FlashLoopAdapter 在以太坊上遭到利用,攻击者绕过了该模块的访问控制,导致两个 Safe 钱包损失估计达 305,000 美元。

摘要

  • FlashLoopAdapter 的访问控制漏洞使攻击者能够从以太坊上的两个 Safe 钱包中盗取约 305,000 美元。
  • 攻击者利用 Morpho 闪电贷偿还了 Aave 中约 1,335 WETH 的债务,随后提取了约 1,306 weETH 的抵押品。
  • Aave 创始人 Stani Kulechov 表示,受影响的合约是构建在 Aave 之上的第三方适配器,对 Aave v3 没有任何影响。

区块链安全公司 SlowMist 表示,攻击者利用了 FlashLoopAdapter 合约中的身份验证漏洞,该漏洞允许一个伪造的 Safe 通过旨在限制只有已启用该模块的钱包才能访问的检查。攻击者最终在利用该模块操纵受影响钱包持有的仓位后,保留了约 114.09 ETH。

该事件涉及的是一个构建在 Aave 之上的自定义合约,而非 Aave v3 核心协议。于 10 月 1 日 15:08:57 UTC 检测到此次攻击的 Defimon Alerts 表示,Aave v3 本身未受影响。

FlashLoopAdapter 访问控制允许伪造的 Safe 通过

FlashLoopAdapter 被设计为一个 Safe 模块,用于通过 Aave v3 开立和关闭杠杆仓位。启用该模块的 Safe 可以使用它来管理涉及借入资产和抵押品的循环策略。

据 SlowMist 称,该弱点存在于适配器的 open() 和 close() 函数所使用的访问控制中。

这些函数没有独立确认调用者是合法的 Safe,而是检查 ISafe(msg.sender).isModuleEnabled(address(this)) 是否返回 true。攻击者可以部署一个伪造的 Safe 合约,将其编程为在 FlashLoopAdapter 进行检查时返回 true。

一旦伪造的 Safe 通过了该测试,攻击者就获得了本应仅限于授权钱包使用的功能访问权限。

Defimon Alerts 表示,回调期间执行的检查未能阻止该交易,因为攻击者的合约同时也充当了闪电贷流动性提供方。随后另一个函数 _swap() 允许使用调用者提供的 swapCalldata 对 swapRouter 进行原始调用。

这两个输入都可以由攻击者控制。

攻击者没有提供一个普通的交换路由器,而是将路由器设置为其中一个受害者的 Safe 钱包。calldata 被设置为调用 execTransactionFromModule,这是一个 Safe 函数,允许已启用的模块执行交易。

FlashLoopAdapter 已被受害者的 Safe 启用,因此由此产生的调用被接受了。

9 月份也出现了类似涉及 Safe 模块权限的问题。BlockSec 将一起涉及约 2,900 rsETH 的 以太坊 Safe 钱包漏洞利用 追溯到与已启用 Safe 模块相连的执行器合约中的弱授权检查。crypto.news 此前报道,一个 MEV 机器人抢先执行了该漏洞利用尝试,并在原始攻击交易回滚之前获得了这些资产。

攻击者偿还了1,335 WETH以解锁weETH抵押品

FlashLoopAdapter攻击不仅仅涉及转移已存在于受影响钱包中的资产。

Defimon Alerts表示,攻击者借了一笔Morpho WETH闪电贷,并利用借来的流动性偿还了第一个Safe(标识为0xcfedf95a3653a128dfc2e4288758a1a1850d169f)所欠的约1,335 WETH的Aave债务。

偿还债务释放了与杠杆Aave头寸相关的抵押品。随后,攻击者利用受损的模块执行路径,使该Safe将约1,306 weETH提取到攻击者控制的地址。

第二个Safe(0xe3b23e47df7cd85876ac6cb05bdb9d7cd5b28520)通过同一易受攻击的模块又损失了6.4 weETH。

Defimon表示,两个受影响的Safe共享同一个单一所有者。

在攻击者结算闪电贷和交易的其他部分时,部分提取的weETH被兑换成WETH。攻击者最终剩下约114.1 ETH,在事件报道时价值约305,000美元。

SlowMist另行估计损失约为114.09 ETH,并表示在解锁抵押品的过程中偿还了约1,300 WETH的债务。

因此,大额抵押品提取并不代表攻击者的净收益。交易中转移的大部分资金都用于偿还债务和解除杠杆头寸,之后剩余资产才能被取走。

Aave v3合约未被认定为易受攻击的组件

两份安全警报均未指出Aave v3本身存在缺陷。

Aave创始人兼首席执行官Stani Kulechov表示,受影响的合约是构建在Aave之上的第三方外部适配器,对Aave v3“零影响”。

FlashLoopAdapter是一个独立的定制合约,使用Aave v3来管理通过Safe钱包持有的杠杆头寸。所报告的漏洞涉及适配器如何验证调用者,以及调用者可以让启用的模块执行什么操作。

这种区别类似于其他事件,即协议或服务保持运行,而连接到Safe钱包的模块提供了攻击者使用的路径。

5月,一起涉及SquidRouterModule耗尽Safe的漏洞利用发生在以太坊和Base上。在攻击者针对第三方Safe模块后,约300万至320万美元从86个钱包中被盗,而Squid表示其主路由器合约和用户资金未受影响。

几天后又出现了另一起与Safe相关的事件,Gnosis Pay的用户在其Zodiac延迟模块遭到漏洞利用后被敦促提取资金。Gnosis联合创始人Martin Köppelmann当时表示,该缺陷可能让攻击者使用受影响的模块从Safe发起交易。

Safe模块可以被授予权限,以从钱包执行交易,而无需每次都经过标准的所有者交易流程。FlashLoopAdapter依赖该能力来自动化Aave杠杆头寸,但同样的权限意味着成功绕过适配器的身份验证逻辑后,可以触及Safe控制的资产。

FlashLoopAdapter攻击者保留了约114 ETH

SlowMist将攻击者地址识别为0x42c2633438609881c8fBAb82414eb9A0c45F9353,而易受攻击的FlashLoopAdapter合约被列为0x16bb8b912da187870c23ec6756bb3fad061283d8。

攻击序列结合了伪造的Safe身份验证以及对适配器路由器和calldata参数的控制。一旦恶意合约通过了初始检查,攻击者就将适配器重新指向受害者Safe,并调用其模块执行函数。

一笔Morpho闪电贷提供了所需的WETH,用于在较大钱包的weETH抵押品被移除之前偿还其Aave债务。从该Safe中提取了约1,306 weETH,同时从第二个钱包中取走了另外6.4 weETH。

在借入的流动性被结清且部分提取的资产被转换后,Defimon Alerts 计算出攻击者保留了大约 114.1 ETH。

SlowMist 将该事件归类为智能合约漏洞,并估计由此造成的损失为 305,000 美元。