解读Pike Finance漏洞

Pike Beta协议于2024年4月30日遭受攻击,损失了价值超过160万美元的99,970.48 ARB、64,126 OP和479.39 ETH。漏洞源于在升级合约以暂停协议时引入新依赖项,导致存储布局错位,攻击者能够绕过管理权限升级合约并提款。项目方已通过其X账号承认了此次事件。

概要:

在2024年4月30日,Pike Beta协议遭到攻击,损失了99,970.48 ARB、64,126 OP和479.39 ETH,导致超过160万美元的替代币(altcoins)的重大损失。

关于项目:

Pike是一个为原生资产优化的通用流动性市场。

Pike 允许直接在其各自的区块链上使用原生资产进行借贷,无需封装和跨链转移。

例如,用户可以将 Arbitrum 的 ARB 代币作为抵押品存入其原生 Arbitrum 链上,同时在不同的区块链上借用其他资产。

要了解有关 Pike Finance 的更多信息,请访问他们的文档:https://docs.pike.finance/

漏洞分析与影响:

链上细节:

攻击者地址:0x19066f7431df29A0910d287C8822936Bb7D89E23

攻击者合约:0x1da4Bc596BFb1087f2F7999b0340Fcba03C47fbD

受害者合约:0xFC7599cfFea9De127a9f9C748CCb451a34d2F063

攻击交易 -

Optimism 交易:- https://optimistic.etherscan.io/address/0x19066f7431df29a0910d287c8822936bb7d89e23

Arbitrum 交易:- https://arbiscan.io/address/0x19066f7431df29A0910d287C8822936Bb7D89E23

Ethereum 交易:- https://etherscan.io/tx/0xe2912b8bf34d561983f2ae95f34e33ecc7792a2905a3e317fcc98052bce66431

根本原因:

此漏洞与上周4月26日报告的Pike Finance Beta协议中的初始USDC漏洞有关。

参考 - https://mirror.xyz/pikefinance.eth/M1ToE42vwEHuE6xlz0dVRQwPT0xpaRtpIIw2arOdBAM

为了暂停协议,spoke合约被升级,并且在智能合约代码中包含了一个额外的依赖项。

这个依赖项引入了新的变量,这些变量改变了存储布局——特别是*initialized*变量的位置。

因此,*initialized*变量占据的位置被其他变量占据,导致存储映射错位。

这种错位导致合约的行为就像它没有初始化一样,因为无法再访问*initialized*变量。

结果,攻击者能够升级spoke合约,绕过管理员访问权限,从而提取资金。

攻击过程:

  • 攻击者在原始合约中执行了initialize函数,将其地址添加到_isActive变量中。
  • 由于代理合约不使用构造函数,因此通常将构造函数逻辑移动到外部初始化函数,通常称为initialize。
  • 然后,有必要保护此初始化函数,使其只能被调用一次。
  • 初始化函数使用版本号。一旦使用了一个版本号,它就会被消耗掉,并且不能被重用。
  • 这种机制可以防止每个“步骤”的重新执行,但允许在升级添加需要初始化的模块时创建新的初始化步骤。

  • 然后,攻击者可以执行upgradeToAndCall并升级到恶意实现。

upgradeToAndCall 的工作原理 -

  1. 升级:该函数首先更新代理转发调用的实现合约的地址。此地址指向包含更新逻辑的新版本的合约。
  2. 初始化调用:升级实现地址后,upgradeToAndCall 在新实现的上下文中执行指定的函数。这通常用于设置初始状态、配置或执行与新逻辑对齐的必要迁移。
  3. 数据编码:要调用的函数及其参数被编码并传递给 upgradeToAndCall。然后,使用此编码数据对新实现执行委托调用。
  4. 安全注意事项:由于 upgradeToAndCall 可以显着改变合约的行为和状态,因此严格控制此类函数至关重要。

资金流向:

漏洞利用之后

该项目承认了该事件,并通过他们的X handle宣布了该事件。

他们如何能够防止这次漏洞利用?

发生此漏洞的主要原因之一是,在4月26日最初的攻击之后,为了暂停协议,spoke合约被升级,并且在智能合约代码中包含了一个额外的依赖项,并且该依赖项引入了新的变量,这些变量改变了存储布局——特别是*initialized*变量的位置。

通过仔细检查、审查和审计升级后的实现合约,可以防止这种情况发生。

Web3 安全 - 时代的需求

为什么选择 QuillAudits 进行 Web3 安全? QuillAudits 配备了完善的工具和专业知识,可以提供网络安全解决方案,从而避免数百万美元的资金损失。

想要更多这样的安全博客和报告吗?

与 QuillAudits 联系:

Linkedin | Twitter | Website | Newsletter | Discord | Telegram

  • 原文链接: quillaudits.medium.com/d...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
quillaudits
quillaudits
江湖只有他的大名,没有他的介绍。