昨日EOS紧急更新了一个偷窃RAM漏洞的补丁,今天和网友远航讨论了该漏洞,远航提供了昨日官网修复该漏洞的patch,于是又有了想复现漏洞的冲动,最后验证并在测试网络还原了该漏洞。
漏洞详情
该漏洞是因为EOSIO系统对于合约inline调用合约内的其他函数不会进行权限检测,从而恶意合约可以使用任何其他账号的权限调用该合约的其他方法。比如下图:
漏洞复现操作如下
漏洞解决
合约内inline调用也需要eosio.code授权
漏洞复现源码
https://github.com/itleaks/eos-contract/tree/master/stealram2-exp
附录
再次感谢远航提供资料
个人能力有限,本文的分析可能有不足或者错误的地方,欢迎大家告知
------------------------------------------------
如果你喜欢我的文章,请顶部点击关注
如果你对EOS,ETH技术及开发感兴趣,请关注本公众号,一起探索区块链未来