Protocol Exploit Report

2 min read Jan 28, 2022

The Qubit protocol was subject to an exploit to our QBridge deposit function.

This report includes an analysis of the attack in its entirety in order to ascertain the nature of the exploit and, to prevent any similar exploits in the future.

Incident Timeline

  1. Jan-27–2022 09:18:55 PM +UTC: 0.8887725 ETH sent from tornado to attacker account
  2. Jan-27–2022 09:34:01 PM +UTC~Jan-27–2022 09:50:41 PM +UTC : Sent 16 deposit tx to QBridge of Ethereum
  3. Jan-27–2022 09:36:32 PM +UTC~Jan-27–2022 09:51:02 PM +UTC : Sent 16 voteProposal tx to QBridge contract of BSC by Qubit Relayer
  4. A number of xETH tokens were minted by 16 voteProposal tx, and liquidity in Qubit was withdrawn using this as collateral

Exploit Method

The attacker called the QBridge deposit function on the ethereum network, which calls the deposit function QBridgeHandler.

QBridgeHandler should receive the WETH token, which is the original tokenAddress, and if the person who performed the tx does not have a WETH token, the transfer should not occur.

tokenAddress.safeTransferFrom(depositer, address(this), amount);

In the code above, tokenAddress is 0, so safeTransferFrom didn’t fail and the deposit function ended normally regardless of the amount value.

Additionally, tokenAddress was the WETH address before depositETH was added, but as depositETH is added, it is replaced with the zero address that is the tokenAddress of ETH.

In summary, the deposit function was a function that should not be used after depositETH was newly developed, but it remained in the contract.

Actions taken

  1. The team is continuing to track the exploiter and monitor affected assets.
  2. The team has contacted the exploiter to offer the maximum bounty as set by our program.
  3. The team is cooperating with security and network partners, including Binance.
  4. Supply, Redeem, Borrow, Repay, Bridge, and Bridge redemption functions are disabled until further notice. Claiming is available.

We want to thank all the individuals, security partners, and projects who reached out and helped with information. We are continuing to investigate and are in communications with Binance. Further updates and a full report will be shared as they become available.

Qubit. Lend to ascend, borrow for tomorrow.

https://qbt.fi/

https://docs.qbt.fi/

Qubit Official Channels

Twitter: https://twitter.com/QubitFin

Telegram: https://t.me/QubitFinOfficial

Discord: https://discord.gg/JGJBWRxX2Y

Qubit is Mound’s innovative DeFi protocol optimized to deliver “Lending as a utility”. Link: https://qbt.fi