freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

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

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

FreeBuf+小程序

FreeBuf+小程序

BlueBerryProtocol 攻击分析
2024-03-05 15:46:30

背景

2024年2月25日,我们监测到Ethereum上的一起攻击事件:https://etherscan.io/tx/0xf0464b01d962f714eee9d4392b2494524d0e10ce3eb3723873afd1346b8b06e4,目标为BlueBerryProtocol,损失资金约为455 ETH 1.4M USD。幸运的是该攻击被一名ID为c0ffeebabe白帽拦截(0xC0ffeEBABE5D496B2DDE509f9fa189C25cF29671[c0ffeebabe.eth]),最终归还了366.5 ETH 1.2 M USD。

BlueBerryProtocol是一个基于Compound fork的DeFi项目,提供借贷,抵押等服务。具体的运行模式如下图:

1709624521_65e6ccc91d434a2166974.png!small?1709624520521

攻击分析

攻击者首先从Balancer中通过闪电贷,借了1个WETH。

1709624573_65e6ccfd7c9b13a5fe6f4.png!small?1709624572770

随后,攻击者将1个WETH抵押到BlueBerryProtocol中,并mint了1个bWETH。接着,攻击者利用抵押的1个bWETH作为抵押,分别利用borrow借走了8616个OHM(Decimal=9)、913262个USDC(Decimal=6)、6.86个WBTC(Decimal=8)。

1709624588_65e6cd0c3dc6736c81311.png!small?1709624587520

最后,攻击者通过Uniswap将获得的OHM、USDC、WBTC换成457 ETH。

漏洞分析

问题的根本原因是代码再处理不同资产时,尾数处理错误。WETH的decimal为18,OHM的decimal为9,USDC的decimal为6,WBTC的decimal为8。

但是,BlueberryProtocol的price oracle在处理token的价格时,均按照decimal=18进行scale。

1709624614_65e6cd2698c2314aa5c37.png!small?1709624614068

导致OHM的价值缩水1e9,USDC价值缩水1e12,WBTC价值缩水1e10。导致攻击者通过仅仅1ETH的抵押便接走了价值460ETH的资产。

总结

本次漏洞在于项目方使用同一份代码处理不同的代币,且没有考虑到不同代币的decimal不同导致的。造成decimal较小的资产大量缩水,从而被攻击者以极低的代价作为抵押借走。建议项目方在合约上线前,针对智能合约进行充分的审计和交叉审计,避免此类安全问题。

注:

本文内容均来自公开的资料整理收集。

重要提醒:本文只对行业信息进行整理,不构成任何投资建议和保证。

# 黑客 # 网络安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录