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

robot
摘要生成中

Poly Network 遭黑客攻击事件分析

近日,跨链互操作协议 Poly Network 遭受黑客攻击,引发了广泛关注。根据安全团队的分析,此次攻击并非由于 keeper 私钥泄露造成,而是攻击者通过巧妙构造的数据,利用合约漏洞修改了 EthCrossChainData 合约的 keeper 地址。

攻击原理

攻击的核心在于 EthCrossChainManager 合约的 verifyHeaderAndExecuteTx 函数可以执行跨链交易。由于 EthCrossChainData 合约的所有者是 EthCrossChainManager 合约,因此后者可以调用前者的 putCurEpochConPubKeyBytes 函数来更改 keeper。

攻击者利用 verifyHeaderAndExecuteTx 函数传入精心设计的数据,通过内部调用 _executeCrossChainTx 函数,最终执行了 EthCrossChainData 合约的 putCurEpochConPubKeyBytes 函数,将 keeper 角色更改为攻击者指定的地址。

完成 keeper 角色替换后,攻击者便可以随意构造交易,从合约中提取任意数量的资金。

攻击过程

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

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

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

  4. 类似的攻击也在以太坊网络上进行,攻击手法相同。

结论

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

此事件再次提醒我们,在设计跨链协议时需要格外注意权限管理和数据验证,以防止类似的安全漏洞被利用。同时,也凸显了定期进行安全审计和漏洞赏金计划的重要性,以及时发现并修复潜在的安全隐患。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
MetaDreamervip
· 07-04 18:08
又一个馒头被卷走惹
回复0
CoffeeNFTsvip
· 07-02 15:50
智能合约又炸了?这年头还敢存币
回复0
空气币品鉴大师vip
· 07-02 15:48
又一个智能合约被薅了
回复0
被毕业的矿工vip
· 07-02 15:47
安全漏洞又来了 溜了溜了
回复0
Hodl老司机vip
· 07-02 15:31
每年都有韭菜被割 咱都习惯了
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)