Poly Network遭黑客攻击 EthCrossChainManager合约漏洞致资金流失

robot
摘要生成中

Poly Network 遭黑客攻击事件分析

近日,一起针对跨链互操作协议 Poly Network 的黑客攻击事件引起了广泛关注。经安全团队分析,此次攻击并非由于 keeper 私钥泄露造成,而是攻击者通过精心构造的数据成功修改了 EthCrossChainData 合约的 keeper 地址。

攻击原理

攻击的核心在于利用 EthCrossChainManager 合约中的漏洞。该合约的 verifyHeaderAndExecuteTx 函数可以通过 _executeCrossChainTx 函数执行跨链交易。由于 EthCrossChainData 合约的所有者是 EthCrossChainManager 合约,因此后者可以调用前者的 putCurEpochConPubKeyBytes 函数来修改 keeper。

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

攻击过程

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

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

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

  4. 这种攻击模式不仅在币安智能链(BSC)上发生,以太坊网络上也出现了类似的操作。

结论

此次攻击的根本原因在于 EthCrossChainData 合约的 keeper 可被 EthCrossChainManager 合约修改,而后者的 verifyHeaderAndExecuteTx 函数又能执行用户传入的数据。攻击者正是利用了这一设计缺陷,通过构造特定数据修改了 EthCrossChainData 合约的 keeper,进而实现了资金盗取。

这一事件再次凸显了智能合约安全的重要性,尤其是在涉及跨链操作和关键角色管理时,需要更加谨慎的设计和全面的安全审计。对于区块链项目方来说,不断完善安全机制、及时发现并修复潜在漏洞至关重要。同时,对于普通用户而言,在参与新兴区块链项目时也应保持警惕,关注项目的安全性评估和审计报告。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 分享
评论
0/400
pvt_key_collectorvip
· 08-01 16:56
又一个巨大的漏洞
回复0
HodlOrRegretvip
· 07-31 04:26
警钟敲得震耳欲聋
回复0
Anon32942vip
· 07-31 04:14
又见跨链风险了
回复0
社区混子王vip
· 07-31 04:08
又在薅韭菜呗
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)