欢迎回到 Sherlock 的漏洞聚焦,我们在这里突出在 Sherlock 审计中发现的一个重要漏洞。 本周,我们审查了在 @GMX_IO 竞赛中由 @0xdeadbeef____ 和 @IllIllI000 发现的拒绝服务漏洞。 感谢 @int0x1catedCode 的详细分析。
漏洞摘要: 该漏洞允许攻击者通过提供与实际数据不匹配的虚假回退原因长度来操纵订单执行流程。这导致协议的错误处理读取不正确的内存区域,可能会干扰执行过程或在处理失败的订单时导致意外行为。
攻击步骤: 1. 设置阶段 部署一个实现自定义回退行为的恶意合约 该恶意合约应可被目标协议调用(例如,作为回调处理程序)。 2. 构造恶意回退数据 使用虚假的长度参数构造回退数据。 3. 通过协议执行订单 创建一个将触发与恶意合约交互的订单 当协议处理订单并调用恶意合约时,它会使用构造的数据回退。 协议的错误处理尝试使用虚假长度解码回退原因。 4. 触发内存读取溢出 协议根据虚假长度参数读取内存 这导致它读取超出实际回退数据边界。
影响是什么? 拒绝服务:订单可能无法正确执行,阻碍合法协议操作,例如清算不良头寸 订单执行中断:批量订单处理可能会被暂停,影响多个用户 Gas恶意攻击:处理格式错误的回退数据可能会消耗过多的Gas
根本原因: 1. 未检查的长度参数:协议在回退数据中信任提供的长度值而不进行验证 2. 缺少边界检查:没有验证声明的长度是否与实际数据大小匹配
缓解措施: 1. 始终验证回退数据长度 2. 实施最大长度限制
我们很自豪能够通过这一发现帮助确保 @GMX_IO 的安全。 当绝对需要安全时,Sherlock 是正确的选择。
查看原文
1,786
11
本页面内容由第三方提供。除非另有说明,欧易不是所引用文章的作者,也不对此类材料主张任何版权。该内容仅供参考,并不代表欧易观点,不作为任何形式的认可,也不应被视为投资建议或购买或出售数字资产的招揽。在使用生成式人工智能提供摘要或其他信息的情况下,此类人工智能生成的内容可能不准确或不一致。请阅读链接文章,了解更多详情和信息。欧易不对第三方网站上的内容负责。包含稳定币、NFTs 等在内的数字资产涉及较高程度的风险,其价值可能会产生较大波动。请根据自身财务状况,仔细考虑交易或持有数字资产是否适合您。