![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
Recently, an on-chain attack was detected against CloberDEX, a project on Base. The attacker gained about 133 ETH, or about 500,000 USD, through this attack.
The attacked project is CloberDEX, and its main functions are as follows: open a new trading pool containing trading pairs A to B and B to A, and each trading pair also contains a preset trading strategy; mint is to add liquidity to the trading pair and obtain LP Token; burn is to destroy LP Token to obtain the corresponding currency.
Let's take a look at the attack process:
First, the attacker borrowed 267 WETH from Morpho Blue using flashloan.
Then, the attacker used open to open two trading pairs on CloberDEX, namely Token/WETH and WETH/Token, where Token is a contract deployed by the attacker himself.
Then, the attacker used mint to transfer 267 WETH and 267 Token to the newly opened trading pair to add liquidity and obtain LP Token.
So far, there is no problem. Finally, the attacker uses burn to destroy the LP Token just obtained. Let's take a look at the specific implementation of burn;
The control flow goes to the lock function. Similarly, let's take a look at the specific implementation of lock;
As you can see, the lock function passes bytes caldata data to the lockAcquired function. Let's continue to look at the implementation of this function.
We found this line of code
We can see that the function called by the code is determined by data. The first four bytes of data are the signature of _burn, so burn essentially calls _burn.
We can see that _burn calls pool.strategy.burnHook(msg.sender, key, burnAmount,supply) again, and the processing of the pool's reserver comes after this code. So, the problem lies here. The address of the strategy contract of the pool corresponding to the trading pair can be controlled by the attacker. In this attack, the attacker wrote the address as his own attack contract address: 0x32fb1bedd95bf78ca2c6943ae5aeaeaafc0d97c1 .
When the contract process reaches the BurnHook of the attacking contract, burn is called again to complete the reentrancy attack.
The attacker took out 264 WETH and 133 WETH from the CloberDEX contract through this vulnerability, and made a profit of 133.7 ETH after repaying the flashloan loan, which is about 500,000 USD.
The main cause of this vulnerability is that the CloberDEX project contract did not perform reentrancy detection and protection in the code for obtaining and destroying LP Tokens, and the state variables were updated after the contract was called, which eventually led to the attacker using the reentry vulnerability to empty the project's WETH. It is recommended that the project party should conduct multi-party verification when designing the economic model, price calculation mechanism and code operation logic, and try to select multiple audit companies for cross-audit when auditing the contract before it goes online.
免責聲明:info@kdj.com
所提供的資訊並非交易建議。 kDJ.com對任何基於本文提供的資訊進行的投資不承擔任何責任。加密貨幣波動性較大,建議您充分研究後謹慎投資!
如果您認為本網站使用的內容侵犯了您的版權,請立即聯絡我們(info@kdj.com),我們將及時刪除。
-
-
- 節點AI是在人工智能和分散技術交集建立的創新項目。
- 2025-04-26 17:55:13
- 我們的核心使命是通過使其開放,透明和以社區為導向來使對AI的訪問權限。
-
- 新聞與薄荷區塊鏈合作夥伴,以引入人類可讀的NFT轉移
- 2025-04-26 17:50:14
- Noves是一個備受推崇的區塊鏈數據層平台,已與MINT區塊鏈(以太坊2(L2)網絡)建立了戰略合作夥伴關係。
-
-
-
- Sui Crypto Rally:是什麼激發了激增?
- 2025-04-26 17:45:14
- Sui Crypto牢固地重新成為焦點 - 這一次,它得到了真正的動力。
-
- 特朗普的模因硬幣吸引了數千萬美元的投資
- 2025-04-26 17:40:12
- 《華盛頓郵報》的一項新分析表明,美國總統唐納德·特朗普的模因硬幣吸引了數千萬美元的投資
-
- 5個模因硬幣購買蘸醬:BTFD硬幣以其遊戲到歐文的遊戲領先踩踏
- 2025-04-26 17:40:12
- 加密的狂野一面對混亂和模因硬幣有一個柔和的言論嗎?它們是以像素形式的混亂的字面實施例。
-
- 今天的比特幣價格(2025年4月26日)上升到95,000美元。
- 2025-04-26 17:35:14
- 截至加密貨幣市場的持續波動,BTC價格隨後降至94631美元。