Themis Protocol Price Oracle Exploited $370K

Themis Protocol Price Oracle Exploited $370K

November 17, 2023

In Brief

  • CIVNFT suffered an access control attack.
  • Themis Protocol lost $370K due to price oracle manipulation
  • Shido got exploited due to a configuration error.
  • DEPUSDT & LEVUSDT got exploited due to missing modifiers.


Hacks Analysis

CIVNFT |  Amount Lost: $180K

On July 8, the CIVNFT exploit on the Ethereum chain caused a loss of $459K. The root cause was the absence of access control for the 7ca06d68() function in the CIVNFT contract. This allowed the attacker to initiate callback functions that transferred CIV and USDT funds to Uniswap for selling. To prevent such attacks, the exploit contract should have included function modifiers to ensure that only the contract owner could transfer funds.

Exploit Contract: 0xf169bd68ed72b2fdc3c9234833197171aa000580

Transaction Hash: 0x93a033917fcdbd5fe8ae24e9fe22f002949cba2f621a1c43a54f6519479caceb

Themis Protocol  |  Amount Lost: $370K

On June 27, the Themis Protocol exploit on the Arbitrum chain resulted in a $370K loss due to an inaccurate price oracle. The attacker started by borrowing 40,000 ETH using flash loans from Aave and Uniswap. They used this ETH as collateral to borrow DAI, USDT, ARB, and WBTC tokens. Next, the attacker deposited 55 ETH into the Balancer pool and received 54.7 B-wstETH-WETH-Stable-gauge BLP tokens in return. After that, they exchanged 39,725 WETH for Themis, which significantly increased the WETH amount in the pool, manipulating the price oracle. Finally, the attacker sold the B-wstETH-WETH-Stable-gauge BLP tokens at an artificially inflated price, making a profit.

Exploit Contract (on Arbitrum Chain): 0x75f805e2fb248462e7817f0230b36e9fae0280fc

Transaction Hash: 0xff368294ccb3cd6e7e263526b5c820b22dea2b2fd8617119ba5c3ab8417403d8

Shido  |  Amount Lost: $238K

On June 23, the Shido exploit on the BNB chain caused a loss of $238K due to a vulnerability in the lock and claim logic. The attacker used the ShidoLock contract, which allows users to lock old SHIDO tokens (V1) and claim new SHIDO tokens (V2). The attacker started by borrowing 40 WBNB through a flash loan and exchanged the funds for 10E9 V1 SHIDO tokens. Next, they used the lockTokens() and claimTokens() functions to acquire 10E18 V2 SHIDO tokens. The attacker made a profit by taking advantage of a configuration error in the token swap between V1 and V2 SHIDO tokens, where the unlock time failed to update and was fixed at 14:00 on June 23, 2023.

Exploit Contract (on BNB Chain): 0x7b190a928aa76eece5cb3e0f6b3bdb24fcdd9b4f

Transaction Hash: 0xaF0CA21363219C8f3D8050E7B61Bb5f04e02F8D4

DEPUSDT & LEVUSDT  |  Amount Lost: $105K

On June 14, the DEPUSDT and LEVUSDT exploit caused a loss of $105K due to an access control vulnerability. The attacker exploited a flaw in the CurveSwap contract's public approveToken() function, which lacked the necessary modifiers to verify owner permissions. By exploiting this vulnerability, the attacker was able to become an approved spender and transfer DEPUSDT and LEVUSDT tokens, resulting in the loss of funds.

Exploit Contract (DEPUSDT): 0x7b190a928aa76eece5cb3e0f6b3bdb24fcdd9b4f

Exploit Contract (LEVUSDT): 0x2a2b195558cf89aa617979ce28880bbf7e17bc45

Transaction Hash (DEPUSDT): 0xf0a13b445674094c455de9e947a25bade75cac9f5176695fca418898ea25742f

Transaction Hash (LEVUSDT): 0x800a5b3178f680feebb81af69bd3dff791b886d4ce31615e601f2bb1f543bb2e

What’s a Rich Text element?

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

  1. Follow-up: Conduct a follow-up review to ensure that the remediation steps were effective and that the smart contract is now secure.
  2. Follow-up: Conduct a follow-up review to ensure that the remediation steps were effective and that the smart contract is now secure.

In Brief

  • Remitano suffered a $2.7M loss due to a private key compromise.
  • GAMBL’s recommendation system was exploited.
  • DAppSocial lost $530K due to a logic vulnerability.
  • Rocketswap’s private keys were inadvertently deployed on the server.


Hacks Analysis

Huobi  |  Amount Lost: $8M

On September 24th, the Huobi Global exploit on the Ethereum Mainnet resulted in a $8 million loss due to the compromise of private keys. The attacker executed the attack in a single transaction by sending 4,999 ETH to a malicious contract. The attacker then created a second malicious contract and transferred 1,001 ETH to this new contract. Huobi has since confirmed that they have identified the attacker and has extended an offer of a 5% white hat bounty reward if the funds are returned to the exchange.

Exploit Contract: 0x2abc22eb9a09ebbe7b41737ccde147f586efeb6a

More from Olymix

Dev-first Web3 security that starts at the source

Put security in the hands of the developer by proactively securing code from day one.

Join Live Beta