Poly Network黑客攻击深度剖析:EthCrossChainData合约keeper角色被篡改

robot
摘要生成中

Poly Network遭受黑客攻击详细分析

近期,跨链互操作协议Poly Network遭受黑客攻击,引起广泛关注。安全团队对此事件进行了深入分析,认为攻击者是通过精心构造的数据修改了EthCrossChainData合约的keeper角色,而非此前传言的keeper私钥泄露导致。

攻击核心

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

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

攻击过程

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

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

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

  4. 类似的攻击手法也在以太坊网络上实施,过程与在BSC上的攻击相似。

结论

此次攻击的根本原因在于EthCrossChainData合约的keeper可以被EthCrossChainManager合约修改,而EthCrossChainManager合约的verifyHeaderAndExecuteTx函数又能通过_executeCrossChainTx函数执行用户输入的数据。攻击者利用这一漏洞,通过构造特定数据,成功将EthCrossChainData合约的keeper更改为自己控制的地址,从而实现了对合约资金的非法提取。

这一事件再次强调了智能合约安全审计的重要性,尤其是在涉及跨链操作和关键角色管理的复杂系统中。开发团队应该更加谨慎地设计和实现合约权限管理机制,以防止类似的安全漏洞被利用。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 4
  • 分享
评论
0/400
链上流浪诗人vip
· 14小时前
又被黑了?合约还能养
回复0
断网验钞机vip
· 14小时前
又一个漏洞被抓到了
回复0
Rugpull幸存者vip
· 15小时前
又被摁在地上锤了
回复0
airdrop_huntressvip
· 15小时前
又见合约漏洞 就这?
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)