XCarnival Hack
What happened
XCarnival was attacked by a hacker for 3,087 $ETH of which 1,467 $ETH was returned to the creator address of the vulnerable contract.
The attacker created a contract, with the help of which it was just the same that managed to carry out the attack and pump out 3k $ETH from the victim's contract.
Contract creation transaction: https://etherscan.io/tx/0xe4f99b2f…206d09
The attacker called the pledgeAndBorrow() function, which creates an orderID and calls xToken.borrow. The function marks that the order has been borrowed. However, an attacker can control xToken, so an attacker can transfer an NFT with a fake xToken, and then borrow all the assets. When the attacker received $ETH, 2,967 was sent to another address where some of the tokens were withdrawn via Tornado.cash.
Transfer transaction to another address: https://etherscan.io/tx/0x7687857b…2a2f49
Half of the tokens were returned to the creator of the XCarnival contract in this transaction: https://etherscan.io/tx/0xcc3fda1e…ace701
As the time of this writing information on this case is scarce. More sources will be added if the case should develop.
Attack transaction where $3,087 $ETH was withdrawn: https://etherscan.io/tx/0x51cbfd46…e57e35
XCarnival Exploiter address: https://etherscan.io/address/0xb7cbb4d4…0b800a
Exploiter contract address: https://etherscan.io/address/0xf70f691d…9aca8d
Victim address: https://etherscan.io/address/0x39360ac1…fd9909
Example transactions of funds withdrawal via Tornado.cash:
The transaction of the return of 1,467 $ETH to the XCarnival creator: https://etherscan.io/tx/0xcc3fda1e…ace701
Case & protocol details
Security review history
- PeckShield Report
Funds Recovery
Recovered
$1.7M
Net Loss
$2,091,225
Evidence & learning
Sources and on-chain records
- report Report xcarnival-lab.medium.com
- report Report cryptopotato.com
- analysis Web Archive web.archive.org
Practice this exploit pattern safely
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.