FlashLoopAdapter访问缺陷致Aave关联Safe钱包损失约30.5万美元
一个用于管理杠杆化Aave v3头寸的自定义Safe模块FlashLoopAdapter在以太坊上遭到利用。攻击者绕过模块的访问控制,从两个Safe钱包中抽走资产,净损失约为30.5万美元(114 ETH)。
攻击手法与过程
据慢雾(SlowMist)分析,漏洞位于适配器的open()和close()函数的访问控制中。函数未独立验证调用者是否为合法Safe,而是检查ISafe(msg.sender).isModuleEnabled(address(this))的返回值。攻击者部署了一个伪造的Safe合约,在检查时返回true,从而通过了认证。
随后,攻击者利用_swap()函数,将交换路由器设置为受害Safe钱包地址,并传入调用execTransactionFromModule的calldata。由于该模块已被受害Safe启用,调用被执行。攻击者还充当闪电贷流动性提供者以绕过回调检查。
具体操作中,攻击者通过Morpho闪电贷借出WETH,偿还了第一个Safe(0xcfedf95a3653a128dfc2e4288758a1a1850d169f)约1,335 WETH的Aave债务,解除其抵押品,然后利用漏洞使Safe提取约1,306 weETH至攻击者地址。第二个Safe(0xe3b23e47df7cd85876ac6cb05bdb9d7cd5b28520)通过同一漏洞损失6.4 weETH。两个Safe为同一所有者。
损失与各方回应
Defimon Alerts于10月1日15:08:57 UTC检测到攻击,指出Aave v3本身未受影响。Aave创始人Stani Kulechov表示,受影响合约是构建于Aave之上的第三方适配器,对Aave v3零影响。慢雾将事件归类为智能合约漏洞,损失约114.09 ETH(时价30.5万美元)。攻击者地址为0x42c2633438609881c8fBAb82414eb9A0c45F9353,漏洞合约地址为0x16bb8b912da187870c23ec6756bb3fad061283d8。
类似事件背景
此类Safe模块权限问题已有先例:9月曾发生一起涉及约2,900 rsETH的Safe钱包漏洞,源于启用模块的授权检查薄弱;5月SquidRouterModule漏洞导致86个钱包损失约300万美元。Safe模块被授予执行交易的权限,一旦认证逻辑被绕过,资产即面临风险。
