November 23, 2023, Decentralized Finance (DeFi) space is shaken This was accomplished through a carefully planned exploit against KyberSwap, a leading decentralized exchange (DEX). The exploit, which Doug Colkitt, founder of Ambient Exchange, called “the most complex and carefully designed” he had ever seen, resulted in losses of approximately $46 million.
To understand the complexity of the exploit, you must first understand ‘concentrated liquidity’. This feature, commonly used in DEXs such as KyberSwap, Uniswapand Ambient allow liquidity providers to increase capital efficiency by allocating assets within specific price ranges. However, this mechanism also introduces unique vulnerabilities that were exploited in this incident.
The attacker’s strategy centered around KyberSwap’s Ethereum ETH/wstETH pool. The attacker manipulated the price dynamics of the pool, starting with a flash loan of 10,000 wstETH (worth approximately $23 million). By injecting 2,800 wstETH ($6 million) into the pool, we significantly distorted the ETH to wstETH price ratio. This action moved the price of the pool into a range where there was little existing liquidity, setting the stage for abuse.
After artificially altering the price of the pool, the attacker issued small amounts of liquidity over a narrowly defined price range. After that, they executed two important exchanges. The first swap sold large amounts of wstETH for a minimal amount of ETH, driving the price down significantly. The second swap reversed this and bought back a larger amount of wstETH for an even larger amount of ETH. This series of transactions, under normal circumstances, should have resulted in a negligible net gain due to the independent nature of the transactions.
However, due to a mathematical flaw in the KyberSwap contract, these transactions did not take place as expected. The contract failed to accurately account for changes in liquidity during the swap, resulting in a misrepresentation of available liquidity. The flaw allowed attackers to extract significantly more wstETH than they initially deposited, effectively creating an “infinite funds glitch.”
A key point of failure was the handling of the contract’s updateLiquidityAndCrossTick function. During the first swap, this function, which adjusts the liquidity value of the curve based on the LP range position at a specific price tick, was not called correctly. As a result, the pool’s liquidity was not updated accurately, allowing attackers to leverage this oversight to their advantage. Precisely manipulating swap quantities and prices indicates an attacker’s deep understanding of the underlying contract mechanisms.
This incident has deep implications for the DeFi ecosystem, especially regarding the security of smart contracts. Colkitt noted that the attack is specific to Kyber’s implementation and does not necessarily pose a threat to other DEXs with concentrated liquidity, but emphasized the need for more stringent security measures and vulnerability assessments in DeFi protocols. The precision and sophistication of the attack also highlights the evolving nature of threats in the DeFi space.
The KyberSwap exploit is a stark reminder of the complexities and vulnerabilities inherent in DeFi. This highlights the importance of ongoing security audits and the need for the DeFi community to remain vigilant against these sophisticated attacks. As DeFi continues to grow and evolve, security measures are also needed to protect infrastructure and users.
Image source: Shutterstock