Poly Network智能合约漏洞分析:攻击者如何篡改keeper角色获取资金

robot
摘要生成中

Poly Network安全漏洞分析:攻击者如何利用合约漏洞篡改权限

近日,跨链互操作协议Poly Network遭遇重大安全事件,引发业内广泛关注。根据安全专家分析,此次攻击并非由于私钥泄露,而是攻击者巧妙利用了智能合约中的漏洞。

事件的核心在于EthCrossChainManager合约的verifyHeaderAndExecuteTx函数存在设计缺陷。该函数可通过内部的_executeCrossChainTx函数执行用户指定的跨链交易。攻击者正是利用了这一点,通过构造特定数据,使_executeCrossChainTx函数调用EthCrossChainData合约的putCurEpochConPubKeyBytes函数,从而篡改了keeper角色为攻击者控制的地址。

具体攻击流程如下:

  1. 攻击者首先调用EthCrossChainManager合约的verifyHeaderAndExecuteTx函数,传入精心构造的数据。

  2. 该函数内部执行_executeCrossChainTx,进而调用EthCrossChainData合约的putCurEpochConPubKeyBytes函数。

  3. putCurEpochConPubKeyBytes函数被执行,将keeper角色地址修改为攻击者指定的地址。

  4. keeper被替换后,攻击者获得了操作权限,可以随意构造交易从合约中提取资金。

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

这一攻击手法在BSC和以太坊链上都得到了运用。攻击的关键在于EthCrossChainData合约的keeper可被EthCrossChainManager合约修改,而后者又允许执行用户传入的任意数据。这种设计存在严重安全隐患,为攻击者提供了可乘之机。

此事件再次表明,智能合约安全至关重要。开发团队在设计合约时应充分考虑各种攻击场景,严格限制关键函数的调用权限,并进行全面的安全审计。同时,去中心化项目也需要建立更完善的治理机制,以应对紧急情况。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 分享
评论
0/400
blocksnarkvip
· 6小时前
又是智能合约的锅
回复0
NFT_Therapyvip
· 6小时前
典中典,又一个智能合约翻车
回复0
养老笑看大饼vip
· 6小时前
又见合约被戳漏洞了?
回复0
梗王NFTvip
· 6小时前
又是被神偷光顾的一天,江湖如大浪淘沙啊 ,看谁家合约还不堵漏洞
回复0
nft_widowvip
· 6小时前
又是合约的锅
回复0
rekt_but_not_brokevip
· 6小时前
又是一个项目gg了
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)