PYTH CBETH price feed is easily manipulated, resulted in me losing $33000

I recently borrowed eth against cbeth (as I have been doing on other markets for months/years with no problems) from the PYTH CBETH/ETH market curated by RE7 labs (address 0xd75387f30c983be0aec58b03b51cca52337b496e38cf4effbe995531bf34901c - I can’t include links). Even though the market price of CBETH (as measured by aerodrome eth/cbeth pool, cbeth price on Coinbase, various other sources) has never dropped anywhere close to liquidation level, I was INSTANTLY liquidated and lost 13.345129594 ETH when I created my borrow position. It is totally irresponsible of RE7 to create a vault using a an oracle that is easily manipulated and encourage users to deposit here when they are GUARANTEED to get liquidated. I am not the first person to encounter this issue. any markets secured using the PYTH CBETH/USD price feed need to be closed and RE7 Labs should compensate me for my losses.

1 Like

I have dug into it a bit more. It looks like the Pyth CBETH/USD price feed got stuck (or was intentionally not updated) for a period of 238 blocks around my liquidation (from block 27072034 to 27072272). Meanwhile, the ETH/USD price feed continued to update. As a result, the pyth oracle dropped as low as 1.0217 ETH/CBETH, allowing my liquidation. Meanwhile, other onchain and off-chain price feeds never dropped below 1.092 ETH/CBETH. I still do not know if someone was intentionally updating the eth/usd price feed and intentionally ignoring the cbeth/usd feed, in order to let me get liquidated, but regardless of if it was intentional manipulation or not, this oracle DOES NOT accurately represent the price of CBETH, and Re7 Labs should NEVER have created this market on Morpho.

1 Like

sorry about your situation, but what exactly are you reporting or seeking assistance on?

It could not be more clear what he is reporting and what he is seeking. He is reporting a malfunctioning oracle. He is seeking reimbursement from RE7.

1 Like

At the VERY LEAST RE7 labs needs to delist this market from Morpho. Like I said, it’s totally irresponsible to ‘curate,’ and profit from, a market where the oracle does not accurately represent the price of the token it is purporting to track, regularly causing users to get unfairly liquidated and lose funds. and if you guys care about your image AT ALL (this story is blowing up on crypto twitter a little bit), you should WANT to reimburse me (and the other user who unfairly got liquidated - 0xb554B9856DFdbf52B98E0e4D2b981C34E20e1dAB) for our losses, to make it clear that RE7 is not here just to extract from the crypto community, but actually care about building functioning products that fit market needs!

I mean why on earth would you set up a market with a pull-only oracle and then not actually PULL THE PRICES? How can you call yourselves a ‘curator’ if you are not actually TAKING CARE of the users who deposit to your market?

Feel sorry for you, hardly believe this happened on morpho.

Pyth is a pull oracle, if no one is paying for a update, it can end up with a stale data.

whoever created the oracle should be responsible for it.

It’s very strange that no one update the price for cbeth, after all it’s such a common collateral.

Thank you for your patience here. We have now reviewed the incident in coordination with Pyth and we are able to share the following:

Incident Overview

On March 2, 2025, between 04:39:35 PM UTC and 04:44:03 PM UTC, three positions were liquidated in the cbETH/WETH market (LLTV: 94.5%) resulting in liquidations totalling approximately 14 ETH. The liquidations occurred in the following transactions:

The issue was not an oracle manipulation problem but rather caused by a timing mismatch in price updates related to how the cbETH/WETH market ingests Pyth data via push updates. The mismatch affected how cbETH and ETH values were reported, creating a short-lived skew in their ratio.

Push vs. Pull Architecture

  • Most Pyth integrations use pull-based pricing, fetching prices from Pythnet on demand
  • The cbETH/WETH market uses two push feeds and an off-chain scheduler, which update periodically the on-chain prices based on time and price deviation thresholds
  • Morpho markets use an oracle interface that can independently read multiple price feeds
  • There is no guarantee in the code or design for this market oracle that feeds update simultaneously to ensure price timestamps
  • The oracle implementation used in this market does not check price timestamps, using the most recent values automatically
  • This asynchrony can create temporary discrepancies in asset ratios

Timeline of Events

  1. Last synchronized price update before incident: 04:36:55 PM UTC
  • ETH/USD: $2,327.50
  • cbETH/USD: $2,538.14
  • Thus cbETH/ETH = 1.091
  • Pyth Benchmarks at this time showed these were accurate: $2,326.22 and $2,538.33
  1. Permissionless ETH/USD update: 04:39:33 PM UTC
  • ETH/USD updated to $2,405.22
  • cbETH/USD remained at previous value ($2,538.33)
  • This created an effective cbETH/ETH ratio of 1.055
  1. Liquidations occurred: 04:39:35 PM UTC to 04:44:03 PM UTC
  • The discrepancy in ratio was sufficient to trigger liquidations given the high 94.5% LLTV
  1. Next synchronized update: 04:44:51 PM UTC
  • ETH/USD: $2,490.76
  • cbETH/USD: $2,718.57
  • Thus cbETH/ETH = 1.091

Key Points

  • The skew triggered automatic liquidations due to the market’s high loan-to-value setting.
  • The issue was confined to a small window and promptly addressed.

Next Steps

  • Improving technical infrastructure with Pyth to ensure more consistent, aligned price updates. This includes evaluating running an independent scheduler that can update on-chain prices at tighter intervals than currently used and working with Pyth to progress on Pulse and other tooling specifically designed to support borrow/lend applications.
  • Expanding monitoring to detect and mitigate any future data delays.

This incident was isolated to the cbETH/WETH market. We are implementing measures to enhance system reliability and limit similar occurrences. We have not identified any systemic risks that require immediate changes to this or other markets relying on similar oracles.

what do you mean ‘the issue was promptly addressed?’ how has the issue been addressed?
And what do you plan to do to make this right for me and the other user who was unfairly liquidated because of the mistakes/oversights Re7 Labs made in curating this market?

  • There is no guarantee in the code or design for this market oracle that feeds update simultaneously to ensure price timestamps - WHY??? if you are ostensibly tracking cbeth/eth rate, then OBVIOUSLY both sides of the equation need to update in order to give you an accurate rate.
  • ‘temporary discrepancies in asset ratios’ is the EXACT THING an oracle is supposed to prevent. so you are admitting the oracle was flawed, but I do not see any mention of a plan to compensate me for my losses due to the flawed oracle
1 Like