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

robot
摘要生成中

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

近日,跨链互操作协议 Poly Network 遭受黑客攻击,引发了业内广泛关注。安全团队的分析表明,此次攻击并非由于 keeper 私钥泄露导致,而是攻击者通过精心构造的数据修改了 EthCrossChainData 合约的 keeper 地址。

攻击核心

攻击的核心在于 EthCrossChainManager 合约的 verifyHeaderAndExecuteTx 函数可以通过 _executeCrossChainTx 函数执行具体的跨链交易。由于 EthCrossChainData 合约的 owner 为 EthCrossChainManager 合约,因此后者可以调用前者的 putCurEpochConPubKeyBytes 函数修改合约的 keeper。

攻击者利用 verifyHeaderAndExecuteTx 函数传入精心构造的数据,使 _executeCrossChainTx 函数执行调用 EthCrossChainData 合约的 putCurEpochConPubKeyBytes 函数,从而将 keeper 角色改为攻击者指定的地址。完成这一步后,攻击者便可以构造交易,从合约中提取任意数量的资金。

攻击流程

  1. 攻击者首先通过 EthCrossChainManager 合约的 verifyHeaderAndExecuteTx 函数调用 putCurEpochConPubKeyBytes 函数,更改了 keeper。

  2. 随后,攻击者实施了一系列攻击交易,从合约中提取资金。

  3. 攻击完成后,由于 keeper 被修改,导致其他用户的正常交易被拒绝执行。

  4. 这一攻击模式不仅在 BSC 上发生,以太坊网络上也出现了类似的操作。

结论

此次攻击的关键在于 EthCrossChainData 合约的 keeper 可被 EthCrossChainManager 合约修改,而后者的 verifyHeaderAndExecuteTx 函数又能通过 _executeCrossChainTx 函数执行用户传入的数据。攻击者正是利用了这一设计漏洞,通过构造特定数据修改了 EthCrossChainData 合约的 keeper 地址,从而实现了攻击目的。

这一事件再次凸显了跨链协议安全性的重要性,也提醒了开发者在设计智能合约时需要更加谨慎,尤其是在涉及关键角色权限变更的功能上。同时,对于用户来说,在使用跨链服务时也需保持警惕,关注相关安全动态。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 分享
评论
0/400
LiquidatedAgainvip
· 11小时前
代码漏洞的后果很惨
回复0
MoonBoi42vip
· 08-01 16:37
惨了惨了 币圈又出事
回复0
HackerWhoCaresvip
· 08-01 16:33
还是得看源代码啊
回复0
LayerZeroHerovip
· 08-01 16:25
熟悉的黑客攻击套路
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)