Cointime

扫码下载App
iOS & Android

Euler Finance遭闪电贷攻击,损失1.97亿美金!漏洞分析附PoC

项目方

背景 

根据Numen链上监控显示,Mar-13-2023 08:56:35 AM +UTC,Euler Finance 项目因为Etoken中的donateToReserves函数缺少流动性检查而遭到闪电贷攻击。黑客通过不同币种多次调用完成获利,本次攻击共计损失1.97亿美元,金额巨大,涉及6种代币。当前,资金还存留在黑客的账户中。 

黑客地址:https://etherscan.io/address/0xb66cd966670d962c227b3eaba30a872dbfb995db 

黑客合约:https://etherscan.io/address/0x036cec1a199234fc02f72d29e596a09440825f1c 

攻击交易(其中一笔): https://etherscan.io/tx/0xc310a0affe2169d1f6feec1c63dbc7f7c62a887fa48795d327d4d2da2d6b111d 

详细分析 

1.黑客先从Aave闪电贷借了3000W个Dai后部署了两个合约,一个是借贷合约,一个是清算合约。 

2.调用deposit函数将借来的Dai其中的20 M个质押到 Euler Protocol合约中获取了19.5M个eDAI。 

3.Euler Protocol可以调用mint函数借出10倍存款,此时黑客从中借出了195.6M个eDAI 和200M个dDAI。 

4.调用repay函数,用闪电贷剩余的10M个DAI偿还债务并且销毁了10M个dDAI,然后继续调用min函数借出195.6M个eDAI 和200M个dDAI。 

5.调用 donateToReserves函数捐赠10倍的偿还资金,发送了100M的eDAI,并调用 liquidate函数去清算,得到310M的dDAI和250M的eDAI。 

6.调用withdraw函数获取了38.9M的Dai并且去归还了借的闪电贷30M。从中获利8.87M个Dai。 

漏洞成因 

先看一下donateToReserves函数,用户能够被清算是在这一步发生的。 

与下图的mint函数对比我们发现,donateToReserves函数少了一个关键步骤checkLiquidity。 

然后跟进看 checkLiquidity的实现。我们发现了callInternalModule函数,它会调用RiskManager对用户进行检查保证Etoken>Dtoken。 

在每次操作的时候需要对用户的流动性进行检查,调用checkLiquidity完成,而donateToReserves这个函数没有执行此操作,导致用户可以通过该协议的某些函数先使自己处于被清算的状态,然后在完成清算。 

攻击复现 

我们成功复现了此次攻击,详细PoC可查看链接:https://github.com/numencyber/SmartContractHack_PoC/tree/main/EulerfinanceHack 

总结 

Numen实验室提醒项目方,合约在上线前要做好安全审计,保证合约安全性,对于借贷类项目需要特别关注资金偿还,流动性检测,债务清算等问题。Numen实验室专注于为WEB3保驾护航。 

Numen 官网

https://numencyber.com/

GitHub

https://github.com/NumenCyber

Twitter

https://twitter.com/@numencyber

Medium

https://medium.com/@numencyberlabs

LinkedIn

https://www.linkedin.com/company/numencyber/

评论

所有评论

推荐阅读

  • Tether在以太坊上增发10亿枚USDT(已授权暂未发行)

    据Whale Alert监测,Tether Treasury在以太坊上新增铸造10亿枚USDT。对此Tether首席执行官Paolo Ardoino表示,此次10亿枚USDT是对以太坊库存的补充。这是一笔已授权但未发行的交易,意味着本次增发将用于下一期发行请求和跨链交换的库存。

  • Bitcoin Layer 2 香港主题峰会圆满落幕!东西方创新思维的交流与共享

    这场开创性线下盛会,重点通过「东西对话(East & West)」形式,搭建起全球 Bitcoin 生态核心建设者和新兴力量的沟通桥梁。会上,众多重量级行业领袖和技术大咖,与 Bitcoin Layer 2 开发者和爱好者齐聚一堂,思维碰撞,知识共享,深度参与 Web3 重要叙事!

  • 币安高管保释申请再次推迟,仍被关押

    尼日利亚法院再次推迟了对币安高管Tigran Gambaryan的保释申请审理,他仍被关押在Kuje矫正中心。审理定于4月22日举行,EFCC要求时间回应辩方提出的新观点。Gambaryan的律师批评控方未能及时回应。币安被指控隐瞒收入来源,Gambaryan则被指控洗钱,此外,他还起诉政府侵犯其人权。

  • 过去24小时全网爆仓 2.82 亿美元,多空双爆

    Coinglass 数据显示,过去 24 小时全网爆仓 2.82 亿美元,多空双爆,多单爆仓 1.5 亿美元,空单爆仓 1.32 亿美元。其中 BTC 爆仓 1.03 亿美元,ETH 爆仓 5516 万美元。

  • BTC突破64000美元

    行情显示,BTC突破64000美元,现报64012.44美元,日内涨幅达到4.95%,行情波动较大,请做好风险控制。

  • SEC指控孙宇晨曾频繁赴美销售代币

    美国 SEC 已修改对 Tron 创始人孙宇晨的诉讼,称他在美国多地频繁出行,从而使得法院具备相应管辖权。SEC 指控孙宇晨及其公司通过 Tron 和 BitTorrent(BTT)代币销售未注册证券,并进行操纵性洗钱交易。SEC 声称,孙宇晨在 2017 年至 2019 年间在美国度过超过 380 天,旅行目的地包括纽约、波士顿和旧金山等地。孙宇晨则表示,代币销售完全在海外进行,避免了美国市场,因此 SEC 无权对其及总部位于新加坡的 Tron 基金会施加管辖。(Cointelegraph)

  • BTC突破63000美元

    行情显示,BTC突破63000美元,现报63062.48美元,日内涨幅达到3.53%,行情波动较大,请做好风险控制。

  • CZ:比特币减半不同于股票分割,减半快乐

    CZ 在 X 平台发文表示,比特币减半不同于股票分割,有人询问这样的问题,说明我们还处于早期阶段。随后他附图说明自己于 2023 年发表的对比特币减半节点前后可能发生的事情的相关看法并说到减半快乐!

  • Elon Musk:涉及farming行为的账户将被冻结,包括引导用户转发、评论和点赞帖子

    Elon Musk 于 X 平台发文表示,所有涉及 farming 行为的账户将被冻结并追踪。DogeDesigner 对此做出了详细解释,farming 行为包括引导用户点赞、分享或评论帖子以获得奖励;加入群组并互相评论;引导用户@其他相关账户等。

  • 4月19日午间要闻速递

    1.俄罗斯国家杜马金融市场委员会主席:数字金融资产可能取代法定货币用于国际支付