Odaily星球日报讯 据官方消息,Fireblocks研究团队最近在智能合约钱包UniPass中发现了一个ERC-4337帐户抽象漏洞。该漏洞允许攻击者对UniPass钱包进行完全帐户接管,通过替换钱包的可信入口点来激活帐户抽象模块。
一旦帐户接管完成,攻击者就可以将钱包视为自己的钱包并耗尽其中的所有资金。钱包中激活了ERC-4337模块的数百名用户很容易受到这种攻击,区块链上的任何人都可以执行这种攻击。
该漏洞由3个不同的问题组成,无法被单独利用,但组合起来后可被攻击以获得钱包所有者级的访问权限,具体如下:
1. 第一个问题是validateSignature函数对于空签名返回“success=true”;
2. 第二个问题与计算调用合约本身的特权函数需要多少角色权重有关;
3. 第三个问题实际上并不是智能合约代码的问题,而是模块安装时的问题。当使用钱包的接口启用ERC-4337模块时,链上会调用addHook 4次来添加其功能。
在确认收到初始披露后的24小时内,UniPass团队立即成功执行了白帽操作,修复了所有易受攻击的钱包,并添加了缺失的“addPermission”调用,以便将来启用ERC-4337模块。