August 15, 2023
|
Cover image for "Uwerx, EraLend, BNO: From Burn Loops to Broken Withdrawals"

Uwerx, EraLend, BNO: From Burn Loops to Broken Withdrawals

Four exploits, four different paths to the same outcome: letting users game internal accounting. Uwerx let token burns distort price. FFIST’s pseudo-random airdrops were predictably gamed. EraLend’s vault allowed borrowing from stale reserve values. And BNO’s emergencyWithdraw skipped reward nullification. Altogether, over $3.6M was drained — each case a warning that even secondary functions like airdrops or withdrawals can sink a protocol if logic breaks at the margins.

In Brief

  • Uwerx AI got exploited due to price manipulation.
  • FFIST lost $110K due to logic vulnerability.
  • EraLend suffered a reentrancy attack.
  • BNO suffered a $500K loss due to a faulty reward mechanism.

Hacks Analysis

Uwerx | Amount Lost: $324K

On August 2, the Uwerx exploit on the Ethereum Mainnet resulted in a $324K loss due to a price manipulation vulnerability. The root cause of the exploit was that the attacker was able to burn the UWERX tokens, reducing the total supply and artificially increasing the token price. The attacker first borrowed 20,000 ETH through flash loans and swapped the funds for 5,053,637 UWERX tokens. The attacker then executed the private _transfer() function that burned 1% of the transfer amount and reduced the total UWERX token supply. The attacker then sold the UWERX tokens at an artificially inflated price and made a profit

Press enter or click to view image in full size

Exploit Contract: 0x4306b12f8e824ce1fa9604bbd88f2ad4f0fe3c54

Transaction Hash: 0x3b19e152943f31fe0830b67315ddc89be9a066dc89174256e17bc8c2d35b5af8

FFIST | Amount Lost: $110K

On July 20, the FFIST exploit on the BNB chain resulted in a $110K loss due to a contract logic vulnerability. The private _airdrop() function in the vulnerable contract was being deployed to distribute FFIST tokens to randomized addresses. However, the randomness was guessable as it was calculated based on the last airdrop address, block number, ‘from’ and ‘to’ addresses. Exploiting this vulnerability, the attacker managed to receive FFIST token airdrops and make a profit

Press enter or click to view image in full size

Exploit Contract (on BNB Chain): 0x80121da952a74c06adc1d7f85a237089b57af347

Transaction Hash: 0x199c4b88cab6b4b495b9d91af98e746811dd8f82f43117c48205e6332db9f0e0

EraLend | Amount Lost: $2.76M

On July 25, the EraLend exploit on the zkSync resulted in a $2.76M loss due to a read-only reentrancy attack. The attacker first borrowed 14,080,109 USDC and 7,566 ETH through flash loans. These funds were then deposited in the SyncSwapVault vault. By calling the private _burn() function, the attacker reduced the token supply, but the reserve amount didn’t update. Since borrowing depended on reserves, which weren’t updated before the reentrancy call, the attacker borrowed more than they should have, resulting in a profit.

Exploit Contract (SyncSwap Vault on zkSync): 0x621425a1Ef6abE91058E9712575dcc4258F8d091

Transaction Hash: 0x99efebacb3edaa3ac34f7ef462fd8eed85b46be281bd1329abfb215a494ab0ef

BNO | Amount Lost: $500K

On July 18, the BNO exploit on the BNB chain caused a loss of $500K due to a faulty reward calculation mechanism. The exploit contract has an emergencyWithdraw() function, which allows users to instantly withdraw funds. Since this function permits users to withdraw funds immediately, it should have nullified rewards by creating a reward debt. However, the emergencyWithdraw() function sets the reward debt to zero, enabling users to withdraw funds while still collecting rewards.

Press enter or click to view image in full size

Exploit Contract (on BNB Chain): 0xdca503449899d5649d32175a255a8835a03e4006

Transaction Hash: 0x33fed54de490797b99b2fc7a159e43af57e9e6bdefc2c2d052dc814cfe0096b9

‍

Ready to Shift Security Assurance In-House? Talk to Our Security Experts Today.