A decentralized futures exchange called Ostium lost $23.75 million in an oracle manipulation attack that took just five minutes and 29 seconds to execute. The attacker targeted the platform’s liquidity vault on the Arbitrum network, exploiting a trusted price delivery mechanism rather than breaking smart contract code directly.
The assault involved submitting a fraudulent Bitcoin price quote to the OLP vault. The attacker opened a position when Bitcoin was listed at $5,000 and closed it within the same transaction at $60,000, draining funds through the artificial price manipulation. The attack exploited a contract called PrivatePriceUpKeep, which had been explicitly excluded from the protocol’s bug bounty program because the team considered price keepers and message forwarders to be trusted components by design.
How Did the Attack Bypass Security Verification?
Ostium cannot pull Bitcoin prices directly from on-chain pools, so it relies on a pull-oracle system where prices are written to the blockchain only upon request through the Gelato automation network. The PrivatePriceUpKeep contract, rather than the public PriceUpKeep contract mentioned in documentation, handled specific price deliveries and appeared in the exploit transaction.
The attacker submitted a price report that successfully passed signature verification using ecrecover, confirming the report was signed by an authorized address. On-chain data revealed that the price verifier contract (ostiumVerifier) had been updated 151 days before the attack, adding new administrator addresses including the attacker’s address. How the attacker gained this authorization remains unknown.
What Was the Attack Sequence?
The breach unfolded across eight transactions. First came a test transaction worth $100 to validate the scheme. Twenty-five seconds later, the main transaction executed: a single executeBatch call with five nested loops opening and closing positions extracted $11.86 million at once. Six additional smaller transactions brought the total to $23.75 million.
All stolen funds were converted through KyberSwap into 12,084 ETH and distributed across 30 wallets controlled by the attacker. That same day, more than 10,500 ETH moved into the Tornado Cash mixer. The attacker’s wallet had initially received funding of just 2 ETH from ChangeNOW and Bybit.
What Was the Protocol’s Security History?
Over two years, Ostium underwent six security audits: twice with Zellic, once with ThreeSigma, and three times with Pashov. While official documentation claimed no critical vulnerabilities were found, audit reports actually documented critical and high-risk findings. Most significantly, Zellic’s second report from November 2025, eight months before the hack, explicitly warned that a compromised forwarder represented a risk. The team fixed only the specific example cited but did not expand audits or bug bounty coverage to the entire risk class that included the vulnerability ultimately exploited.
Ostium suspended trading for one hour following the attack and coordinated with SEAL 911, law enforcement, and security firms Mandiant, zeroShadow, and Collisionless. The team promised to resume trading within a week and partially compensate liquidity providers using their own funds.
Source: Xakep