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

This article is not available in the current language yet. Showing the original version.
因为Etoken中的donateToReserves函数缺少流动性检查而遭到闪电贷攻击。黑客通过不同币种多次调用完成获利,本次攻击共计损失1.97亿美元,金额巨大,涉及6种代币。当前,资金还存留在黑客的账户中。 

背景

根据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

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

详细分析

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

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

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

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

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

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

4.调用repay函数,用闪电贷剩余的10M个DAI偿还债务并且销毁了10M个dDAI,然后继续调用min函数借出195.6M个eDAI 和200M个dDAI。 Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

5.调用 donateToReserves函数捐赠10倍的偿还资金,发送了100M的eDAI,并调用 liquidate函数去清算,得到310M的dDAI和250M的eDAI。 Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

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

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

漏洞成因

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

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

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

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

然后跟进看 checkLiquidity的实现。我们发现了callInternalModule函数,它会调用RiskManager对用户进行检查保证Etoken>Dtoken。 Euler Finance漏洞分析:如何遭闪电贷攻击,损失1.97亿美金!

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

攻击复现

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

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

总结

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

Share to:

Author: Numen Cyber

Opinions belong to the column author and do not represent PANews.

This content is not investment advice.

Image source: Numen Cyber. If there is any infringement, please contact the author for removal.

Follow PANews official accounts, navigate bull and bear markets together
PANews APP
The Frontier Digital Ecosystem 2026 Asia-Pacific Summit will kick off in Hangzhou on April 8.
PANews Newsflash