攻击者可以从其不拥有的锁定账户转移资金(如果账户有解锁资金,可能在锁定期结束后)。POC针对周期性锁定账户完成,但由于问题似乎存在于SendCoins中,且被所有锁定账户使用,因此更多锁定账户可能受到影响。当调用函数时,它从消息msg.Sender传递发送者,在checkSender中检查发送者==所有者。但问题在于msg.Sender未在任何地方验证,因为此消息被打包到MsgExecute中。执行时,它将原始发送者设置到上下文中。对于多签账户,它正确地从ctx中获取。至少在我查看的那些地方是这样。但这些锁定账户从消息中获取它,而它可以是任何值。
我们首先在受害者处创建周期性锁定账户。锁定期较短,因此我们无需等待太久。
然后我们等待锁定期结束并将资金转移给攻击者。
需要Go和Rust
视频 F4027705: accounts.mov 209.60 MiB 放大 缩小 复制 下载
似乎没有
攻击者可以接管某人在锁定账户上锁定然后解锁的资金。POC特别演示了周期性锁定账户。但有理由相信更多锁定账户受到影响。
严重性: 严重 (9 ~ 10)
弱点: 不当的访问控制 - 通用
CVE ID: 无
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。