零时科技 || SorraStaking 攻击事件分析

  • 事件概述:2025年1月4日,Ethereum链上项目Sorra遭受多起攻击,攻击者通过staking漏洞重复提取奖励,造成41,000美元损失。
  • 攻击手法
    • 攻击者于2024年12月21日通过staking锁定资产(选择14天锁仓期),到期后利用withdraw函数漏洞提取任意金额存款。
    • 漏洞核心在于合约未校验用户是否已提取过reward,导致攻击者可重复领取奖励,并清空项目SOR Token。
  • 技术细节
    • withdraw函数逻辑缺陷:计算reward时未限制提取次数,且position更新仅减少仓位,未验证reward提取状态。
    • 攻击者通过多次交易(提供4笔攻击交易hash)完成资金盗取。
  • 建议:项目方需加强合约逻辑验证,上线前采用多审计公司交叉审计,避免类似漏洞。
总结

背景介绍

2025年1月4日,我们监测到多起针对 Ethereum 链上项目 Sorra 攻击事件,攻击hash为:

https://etherscan.io/tx/0x6439d63cc57fb68a32ea8ffd8f02496e8abad67292be94904c0b47a4d14ce90d

https://etherscan.io/tx/0x03ddae63fc15519b09d716b038b2685f4c64078c5ea0aa71c16828a089e907fd

https://etherscan.io/tx/0xf1a494239af59cd4c1d649a1510f0beab8bb78c62f31e390ba161eb2c29fbf8b

https://etherscan.io/tx/0x09b26b87a91c7aea3db05cfcf3718c827eba58c0da1f2bf481505e0c8dc0766b

被攻击的项目为Sorra,攻击共造成 41, 000 USD 的损失。

攻击及事件分析

2024年12月21日,攻击者通过 staking 来开始攻击前的准备,

零时科技 || SorraStaking 攻击事件分析

由于, staking 时选择的 _tier 为0, 根据合约,锁仓期限为14天,

零时科技 || SorraStaking 攻击事件分析

14天后,也就是2025年1月4日攻击者开始攻击。攻击者通过 withdraw 中,使 _amount 为1。我们看一下 withdraw 函数的具体实现。

零时科技 || SorraStaking 攻击事件分析

上述代码整体的逻辑如下,首选判断用户的 deposit 的资产是否到期,然后再计算 reward ,最后减去 position 。

首先看如何计算 reward;

零时科技 || SorraStaking 攻击事件分析

从代码中我们可以看出,计算 reward 是计算了所有到期的 deposit 的 reward ,这块看起来没有什么问题。

我们接下来看一下如何更新 position ;

零时科技 || SorraStaking 攻击事件分析

零时科技 || SorraStaking 攻击事件分析

在 updatePosition 中,由于没有设置 vaultExtension 所以直接到 _decreasePosition 函数中。在 _decreasePosition 函数中,仅仅是做了提取金额仓位减少操作。所以,漏洞就出现在这里,当用户 deposit 到期后,可以提取任意金额的存款,同时会提取到所有到期存款的 reward 。但是,由于没有判断 reward 是否已经被提取,所以会重复提取 reward 。

总结

本次漏洞的成因是 Sorra 项目方在用户 withdraw 时,没有判断用户是否已经提取过了 reward ,导致用户可以通过大量的操作重复提取 reward 。攻击者利用上述漏洞发起多次交易,将 Sorra 项目中的 SOR Token 全部提取。建议项目方在设计代码运行逻辑时要多方验证,合约上线前审计时尽量选择多个审计公司交叉审计。

分享至:

作者:零时科技

本文为PANews入驻专栏作者的观点,不代表PANews立场,不承担法律责任。

文章及观点也不构成投资意见

图片来源:零时科技如有侵权,请联系作者删除。

关注PANews官方账号,一起穿越牛熊
推荐阅读
13小时前
2025-12-07 10:07
2025-12-07 06:24
2025-12-06 09:12
2025-12-06 08:03
2025-12-06 00:28

热门文章

行业要闻
市场热点
精选读物

精选专题

App内阅读