Poly Network遭黑客攻击 EthCrossChainManager合约漏洞被利用

Poly Network 遭受黑客攻击事件分析

近日,跨链互操作协议 Poly Network 遭遇黑客攻击,引发了业内广泛关注。安全团队对此事件进行了深入分析,揭示了攻击的技术细节和整个攻击流程。

攻击核心

攻击的关键在于 EthCrossChainManager 合约中的 verifyHeaderAndExecuteTx 函数。该函数可以通过 _executeCrossChainTx 函数执行特定的跨链交易。由于 EthCrossChainData 合约的所有者是 EthCrossChainManager 合约,因此后者能够调用 EthCrossChainData 合约的 putCurEpochConPubKeyBytes 函数来修改合约的 keeper。

攻击步骤

  1. 攻击者通过 verifyHeaderAndExecuteTx 函数传入精心设计的数据。
  2. 这些数据触发 _executeCrossChainTx 函数执行,调用 EthCrossChainData 合约的 putCurEpochConPubKeyBytes 函数。
  3. 攻击者成功将 keeper 角色更改为指定地址。
  4. 完成 keeper 替换后,攻击者可以任意构造交易,从合约中提取任意数量的资金。

攻击影响

  1. 攻击发生在多个区块链网络上,包括 BSC 和以太坊。
  2. 在 BSC 上,攻击者通过多次交易实施了攻击。
  3. keeper 被修改后,其他用户的正常交易被拒绝执行。
  4. 以太坊网络上的攻击模式与 BSC 类似。

结论

此次攻击的根本原因在于 EthCrossChainData 合约的 keeper 可被 EthCrossChainManager 合约修改,而后者的 verifyHeaderAndExecuteTx 函数又可执行用户传入的数据。攻击者利用这一漏洞,通过构造特定数据修改了 EthCrossChainData 合约的 keeper。这一发现否定了之前流传的 keeper 私钥泄露导致攻击的说法。

这一事件再次凸显了跨链协议安全性的重要性,也提醒开发者在设计智能合约时需要更加谨慎,尤其是在涉及权限管理和跨合约调用等关键环节。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 转发
  • 分享
评论
0/400
薛定谔的纸手vip
· 16小时前
割肉出局一时爽 一直被割一直爽
回复0
Altcoin猎人vip
· 17小时前
又一起杀猪盘现场,看我认真研究下这个洞
回复0
GweiWatchervip
· 17小时前
又没上锁 啧啧
回复0
社恐元宇宙vip
· 17小时前
这合约也太脆了吧…
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)