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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注