XCarnival Collateral Logic Error
Notice: This page is a freshly imported case study from the original repository. The original content was in a different format, and may not have relevant information for all sections. Please help restructure the content by moving information from the 'About' section to other sections, and add any missing information or sources you can find. If you are new here, please read General Tutorial on Wikis or Anatomy of a Case Study for help getting started.
Notice: This page contains sources which are not attributed to any text. The unattributed sources follow the initial description. Please assist by visiting each source, reviewing the content, and placing that reference next to any text it can be used to support. Feel free to add any information that you come across which isn't present already. Sources which don't contain any relevant information can be removed. Broken links can be replaced with versions from the Internet Archive. See General Tutorial on Wikis, Anatomy of a Case Study, and/or Citing Your Sources Guide for additional information. Thanks for your help!
XCarnival created a lending protocol which allowed participants to use their NFTs as collateral for loans. Unfortunately, the protocol wasn't entirely bullet-proof and was exploited by an attacker, who found a way to take out a loan and still retrieve the NFT they had put up as collateral. The attacker funded their account through TornadoCash and took the proceeds back through TornadoCash. They gave up half of their loot in exchange for a promise by the protocol against legal retribution.
This is a global/international case not involving a specific country.[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18]
About XCarnival
"A more convenient lending protocol for everyone."
"XCarnival is here to create a metaverse financial infrastructure. They will focus on providing liquidity options for all your metaverse assets. Furthermore, they hope to create an industry ecosystem for NFT and Metaverse. In order to do so, they are offering mortgage and loan services for NFT assets. These financial services are available in their P2P and Pool2C models. In addition, they also provide appraisal, leasing and sales solutions for your metaverse long-tail assets. Their featured products are XBroker and XPawn."
"XBroker is a smart contract on an EVM-based public chain. It is an NFT pledge and lending platform. It offers liquidity to the NFT market. In XBroker, users take parts in three different roles: mortgagor, lender and liquidator. It works in a very straightforward way. First, the mortgagor must submit an NFT to pledge and borrow money. Then the lender will earn interest by lending USDxc. Liquidator will then bid at the auction to collect NFTs."
"XCarnival is a lending aggregator for Metaverse assets, which offers innovative liquidation solutions for varieties of NFTs and long- tail crypto assets. As a pioneer of NFT lending provider, XCarnival has won the Championships of BSC Hackathon for Southeast Asia. It‘s also one of the first projects educating users to adopt the NFT-lending modes with mining rewards. XCarnival is a multi-chain protocol and will deploy on Ethereum, Polygon and Solana."
"On June 26, 2022 XCarnival lost $3.8M after an attacker exploited a logic error in the collateral handling mechanism."
"The hack is made possible by allowing a withdrawn pledged NFT to be still used as the collateral, which is then exploited by the hacker to drain assets from the pool."
"The initial fund (120 ETH) to launch the hack is withdrawn from @TornadoCash. Currently 3,087 ETHs of the illicit gains still stay in the hacker’s account"
"Negotiations to partially return stolen funds are ongoing."
"The hacker pledged one NFT, Bored Ape #5110, as security for a loan. The Bored Ape used as collateral should typically be locked up until the debt is paid up.
But the hacker was able to retrieve the Bored Ape without paying back the loan and then used it to get a new loan by exploiting a vulnerability. This action was repeated many times, emptying 3,087 ETH from the protocol."
"The overall logic is that the hacker first generates multiple contract addresses, then goes to call the XNFT contract, pledges the NFT, then generates an orderld, then withdraws the NFT, multiple times this operation, then calls the XToken contract’s borrow() through the previous contract address as well as the orderld In the call to borrow(), there is no judgment that the NFT has been withdrawn, so the hacker borrowed and then did not pay it back, then keeps repeating this operation."
"XCarnival then communicated with the hacker on-chain and asked for the funds to be returned.
The platform first offered a $300,000 award as restitution for the stolen funds. The hacker later accepted XCarnival’s updated offer of giving them half of the ETH.
The initial funding for the hack, around 120 ETH, was taken out via Tornado Cash. Security organizations and the police have since then worked closely to find the hacker’s geographical location.
However, XCarnival did agree not to take legal action against the hacker in exchange for returning half of the stolen money."
"XCarnival was attacked on June 26, 2022 and suspended part of the protocol. XCarnival officials will give 0xb7CBB4d43F1e08327A90B32A8417688C9D0B800a owner 1500 ETH bounty. At the same time, XCarnival officals explicitly exempt the person from legal action."
This is a global/international case not involving a specific country.
The background of the exchange platform, service, or individuals involved, as it would have been seen or understood at the time of the events.
Include:
- Known history of when and how the service was started.
- What problems does the company or service claim to solve?
- What marketing materials were used by the firm or business?
- Audits performed, and excerpts that may have been included.
- Business registration documents shown (fake or legitimate).
- How were people recruited to participate?
- Public warnings and announcements prior to the event.
Don't Include:
- Any wording which directly states or implies that the business is/was illegitimate, or that a vulnerability existed.
- Anything that wasn't reasonably knowable at the time of the event.
There could be more than one section here. If the same platform is involved with multiple incidents, then it can be linked to a main article page.
The Reality
This sections is included if a case involved deception or information that was unknown at the time. Examples include:
- When the service was actually started (if different than the "official story").
- Who actually ran a service and their own personal history.
- How the service was structured behind the scenes. (For example, there was no "trading bot".)
- Details of what audits reported and how vulnerabilities were missed during auditing.
What Happened
The specific events of the loss and how it came about. What actually happened to cause the loss and some of the events leading up to it.
| Date | Event | Description |
|---|---|---|
| June 26th, 2022 5:12:24 AM MDT | First NFT Purchase | The first NFT purchased by the exploiter to use as collateral for the exploit. |
| June 26th, 2022 6:03:30 AM MDT | Blockchain Transaction | A transaction references on the blockchain as part of the attack. |
| June 26th, 2022 7:14:00 AM MDT | PeckShield Tweet | PeckShield shares a tweet about the incident. |
Technical Details
This section includes specific detailed technical analysis of any security breaches which happened. What specific software vulnerabilities contributed to the problem and how were they exploited?
Total Amount Lost
The total amount lost has been estimated at $3,800,000 USD.
How much was lost and how was it calculated? If there are conflicting reports, which are accurate and where does the discrepancy lie?
Immediate Reactions
How did the various parties involved (firm, platform, management, and/or affected individual(s)) deal with the events? Were services shut down? Were announcements made? Were groups formed?
Ultimate Outcome
What was the end result? Was any investigation done? Were any individuals prosecuted? Was there a lawsuit? Was any tracing done?
A bounty of $1,900,000 USD was paid for the discovery.
Total Amount Recovered
The total amount recovered has been estimated at $1,900,000 USD.
What funds were recovered? What funds were reimbursed for those affected users?
Ongoing Developments
What parts of this case are still remaining to be concluded?
Individual Prevention Policies
No specific policies for individual prevention have yet been identified in this case.
For the full list of how to protect your funds as an individual, check our Prevention Policies for Individuals guide.
Platform Prevention Policies
Policies for platforms to take to prevent this situation have not yet been selected in this case.
For the full list of how to protect your funds as a financial service, check our Prevention Policies for Platforms guide.
Regulatory Prevention Policies
No specific regulatory policies have yet been identified in this case.
For the full list of regulatory policies that can prevent loss, check our Prevention Policies for Regulators guide.
References
- ↑ @peckshield Twitter (Apr 8, 2024)
- ↑ https://etherscan.io/tx/0xd365248aeab9e3200d07464ca1268ed4aa6cd5cc1fa6c5b33dfce158a758212b (Apr 8, 2024)
- ↑ https://etherscan.io/txs?a=0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a (Apr 8, 2024)
- ↑ @xcarnival_lab Twitter (Apr 8, 2024)
- ↑ XCarnival Retrieves 50% of Stolen ETH After Exploit | The Crypto Times (Apr 8, 2024)
- ↑ XCarnival has got 1,467 ETH back, the security agencies have tentatively determined the hacker’s geographic location | by XCarnival | Medium (Apr 8, 2024)
- ↑ XCarnival hacker accepts reward - The Cryptonomist (Apr 8, 2024)
- ↑ @XCarnival_Lab Twitter (Apr 8, 2024)
- ↑ XCarnival (Apr 8, 2024)
- ↑ What is XCarnival (XCV) • MEXC Blog (Apr 8, 2024)
- ↑ XCV | XCV Crypto Asset Introduction | MEXC Exchange (Apr 8, 2024)
- ↑ @TalBeerySec Twitter (Apr 8, 2024)
- ↑ https://etherscan.io/idm?addresses=0xc087629431256745e6e3d87b3ec14e8b42d47e48,0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a&type=1 (Apr 8, 2024)
- ↑ https://etherscan.io/tx/0x16bb7799cf4e919bcb81f3ed531743ea6a6857e9a5121500fa1e3619bb2b82cf (Apr 8, 2024)
- ↑ https://etherscan.io/token/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d?a=0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a (Apr 8, 2024)
- ↑ https://etherscan.io/tx/0x51cbfd46f21afb44da4fa971f220bd28a14530e1d5da5009cfbdfee012e57e35 (Apr 8, 2024)
- ↑ https://etherscan.io/address/0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a (Apr 8, 2024)