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/

评论

所有评论

推荐阅读

  • 贝森特:通胀将回归目标水平,美联储主席沃什将优化增长和价格稳定的路径

    6月24日,美国财长贝森特:通胀将回归目标水平,美联储主席沃什将优化增长和价格稳定的路径。特朗普和我明白债券市场的力量,已经看到了人工智能带来的经济增长。(新浪财经)

  • 美国现货以太坊ETF昨日净流出8218万美元

    6月24日,据Trader T监测,美国现货以太坊ETF昨日净流出8218万美元。

  • 美国现货比特币ETF昨日净流出1.1379亿美元

    6月24日,据Trader T监测,美国现货比特币ETF昨日净流出1.1379亿美元。

  • BTC突破63000美元

    行情显示,BTC突破63000美元,现报63003.99美元,24小时跌幅达到1.47%,行情波动较大,请做好风险控制。

  • BTC突破63000美元

    行情显示,BTC突破63000美元,现报63006.88美元,24小时跌幅达到1.52%,行情波动较大,请做好风险控制。

  • AI智能终端全面爆发

    6月23日,据央视财经,在第四届链博会现场,原有的“数字科技链”升级成为“数智科技链”。这一字之变,背后体现的是人工智能正在成为产业链上的主角。现场首设的人工智能专区,集聚了中外AI领军企业,展示了从数据、算力到应用的全链条。不同厂家的AI眼镜、数字底盘的智能汽车、会踢足球的人形机器人……央视财经记者在链博会现场看到,人工智能接入物理世界的形态,正在从手机和电脑走向各类新的智能终端。今年以来,AI智能体应用也全面爆发。高通公司全球高级副总裁钱堃表示,AI智能体的赋能使得现有终端设备有一个大的升级换代周期。中国的产业链非常完善,通过跟中国合作伙伴不断合作,他们的产品能很快走向市场并被全球接受。阿里云智能集团副总裁刘湘雯表示,AI从原来的聊天进入到干活的生产力要素,所有全栈上的,无论是GPU的云还是CPU,发展非常迅速,相信接下来还有更大的空间。

  • Vitalik:以太坊基金会预算削减 40%,将转向长期基金模式

    6月23日,据 Vitalik Buterin 披露,以太坊基金会(Ethereum Foundation, EF)今年将削减约 40% 预算,按照其此前公布的财政管理方案,EF 正从每年支出约剩余资金 15% 的模式,过渡到 2030 年后每年支出约 5%,向长期导向的捐赠型组织转型。 为此,EF 将调整多客户端模式,更依赖 AI 辅助形式化验证,PSE 隐私与扩容探索团队将从“探索”转向围绕零知识证明的重点建设,Devcon 会务将缩减规模和亏损,超出 Ethereum 本身的大型项目也将减少,EF 机构工作将聚焦更小规模但可复制的 CROPS 友好型部署案例。

  • 美股三大指数短线拉升

    6月23日,道琼斯指数涨0.07%;标普500指数跌幅缩窄至0.77%,此前一度跌超1.5%;纳斯达克综合指数跌幅缩窄至1.17%,此前一度跌超2.3%。

  • 英伟达市值跌破5万亿美元

    6月23日,英伟达(NVDA.O)市值跌破5万亿美元,最新下跌2.6%。

  • 霍启刚:AI时代,我们自己的判断才是核心

    6月23日,据央视财经,霍启刚表示,过去一年AI议题铺天盖地,从“不用AI”到“不得不用”,让他深感“不参与其中就会被淘汰”。身为父亲,霍启刚坦言,孩子使用AI,身为家长该“控制”还是“辅助”?霍启刚称,目前已经开始在工作中辅助使用AI,但他强调用了AI不等于省去思考过程,必须经过自己的经验、思考和逻辑研判,不能直接照搬AI输出。