freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

零时科技 | CloberDEX 攻击事件分析
2024-12-25 16:49:31
所属地 陕西省

背景介绍

近期,我们监控到一起针对 Base 上的项目 CloberDEX的链上攻击事件,

https://basescan.org/tx/0x8fcdfcded45100437ff94801090355f2f689941dca75de9a702e01670f361c04

被攻击的项目为 CloberDEX ,攻击者通过此次攻击获利约为 133 ETH ,约为 500,000 USD 。该项目的主要功能如下:open 开一个新交易池包含 A 到 B 和 B 到 A 的交易对,同样每个交易对包含预设的交易策略;mint 为给交易对添加流动性并获得 LP Token ;burn 为销毁 LP Token 获得对应的货币。

攻击及事件分析

首先,攻击者从 Morpho Blue 中利用 flashloan 借贷了267个WETH,

1735116289_676bc601e6f7ec1017de3.png!small?1735116289588

接着,攻击者使用 open 在 CloberDEX 开了两个交易对分别是 Token/WETH 和 WETH/Token ,其中, Token 为攻击者自行部署的合约。

1735116301_676bc60dd93c2ce4d8b53.png!small?1735116308616

然后,攻击者利用 mint 分别向刚开的交易对中转入 267 WETH 和 267 Token ,用于添加流动性并获取 LP Token。

1735116318_676bc61ea1baeb1e469ff.png!small?1735116318613

至此,都没问题。最后,攻击者利用 burn 销毁刚获得的LP Token,我们看一下 burn 的具体实现;

1735116330_676bc62a25ba128f60ec5.png!small?1735116330012

控制流走向了 lock 函数,同样,我们看一下 lock 的具体实现;

1735116343_676bc637a1b41594e68d1.png!small?1735116343738

可以看到,lock 函数中又把 bytes caldata data 传向了 lockAcquired 函数,我们继续看该函数的实现;

1735116356_676bc6448015825749833.png!small?1735116356613

我们发现这行代码

1735116370_676bc6524bcfee4ec7a71.png!small?1735116370043

我们可以看到,该代码调用的函数由 data 决定。那么 data 的前四字节此时为 _burn 的签名,所以本质上 burn 调用了 _burn 。

1735116380_676bc65c9429ed7db8e9b.png!small?1735116380464

我们可以看到, _burn 又调用了 pool.strategy.burnHook(msg.sender, key, burnAmount,supply) ,而且,针对 pool 的 reserver 的处理又在该代码之后。所以,问题出现在这里,交易对对应的 pool 的 strategy 合约的地址可以由攻击者控制。在此次攻击中,攻击者将该地址写为自己的攻击合约地址即:0x32fb1bedd95bf78ca2c6943ae5aeaeaafc0d97c1

当合约流程走到了攻击合约的 BurnHook 中后,又继续调用 burn 完成重入攻击。

1735116394_676bc66aac575a41f997c.png!small?1735116394451

攻击者通过该漏洞取出了投入的 264 个 WETH 和 CloberDEX 合约中的 133 个 WETH ,在归还flashloan 的贷款后获利 133.7 ETH ,约为 500,000 USD 。

总结

本次漏洞成因主要是因为 CloberDEX 项目方合约在获取销毁 LP Token 的代码中没有进行重入检测和防护,且更新状态变量在合约调用之后,最终导致攻击者利用该重入漏洞掏空项目方的WETH 。建议项目方在设计经济模型、价格计算机制和代码运行逻辑时要多方验证,合约上线前审计时尽量选择多个审计公司交叉审计。

# 黑客攻击 # 安全事件 # web3安全
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录