NewsCryptoInjective Drained of $4.9M in Binary Options Market ID Collision Exploit

Injective Drained of $4.9M in Binary Options Market ID Collision Exploit

Author: Metaverse Post·

Key Takeaways

  • An attacker exploited a binary options settlement flaw on Injective on August 31 to extract approximately $4.9 million.
  • The exploit used 299 permissionlessly created binary options markets with self-controlled oracles configured never to provide prices, enabling doubled withdrawals via self-matched trades.
  • The root cause was a market identifier collision arising from concatenating unseparated fields when generating market_id, allowing an INJ insurance fund to collide with a USDC market.
  • Validators halted the Injective chain for about 3 hours 42 minutes, advancing only one block and preserving all executed trades rather than rolling back like Cronos did in a recent incident.
  • Stolen funds were bridged to Ethereum and consolidated as roughly 1,980 ETH in address 0x5a18…69ea, while Injective posted marketing content and issued no public incident statement during the halt.
Injective Drained of $4.9M in Binary Options Market ID Collision Exploit

Injective, a Layer 1 blockchain protocol specializing in decentralized finance, was targeted on August 31 in an exploit that drained approximately $4.9 million through a critical vulnerability in its binary options settlement system. Binary options markets—where traders wager on yes/no price outcomes at a set expiry—are among the more structurally complex derivatives a permissionless exchange module can offer, since settlement correctness depends on oracle delivery, refund logic, and insurance-fund accounting interacting without edge cases.

The attacker systematically abused a permissionless market-creation mechanism to launch 299 instant binary options markets over a 19-hour period, each administered through a self-controlled oracle deliberately configured to never provide prices. Oracle symbols were explicitly constructed to trigger the no-price refund path, with expiration and settlement timestamps set mere seconds apart.

A binary-options settlement bug has been exploited on @Injective according to @ErthlingPaddy. Attacker bridged ~$4.9M to Ethereum, the funds are unmoved. pic.twitter.com/fwnx6cQajJ — Defimon Alerts (@DefimonAlerts) September 1, 2026

On-chain analysis shows the exploit relied on self-matched trades across the attacker's own subaccounts. The actor deposited collateral, assumed both long and short positions at manipulated prices, and exploited the refund mechanism to extract roughly twice the deposited amount per cycle. In one documented sequence, approximately 105,000 USDC generated withdrawals exceeding 204,000 USDC. The proceeds were bridged to Ethereum via CCTP, swapped for ETH on Uniswap, and consolidated in address 0x5a18…69ea, where roughly 1,980 ETH—approximately $4.88 million—remained unmoved at press time.

The Injective chain halted for approximately three hours and 42 minutes, from block 181,027,006 at 16:10 UTC to block 181,027,007 at 19:52 UTC. Chain halts—achieved when validators coordinate to pause block production—are one of the few emergency tools available to Cosmos-SDK-based networks facing an active exploit, but they carry their own tradeoffs, as the divergence between Injective's response and Cronos's illustrates. Unlike Cronos, which rolled back transactions following a recent incident, Injective advanced by exactly one block across the halt, preserving all executed trades. The final exploit attempt failed only because its settlement timestamp expired amid severely slowed block production, which had dropped to roughly 38-minute intervals immediately before validators intervened.

Injective halted for ~4 hours today after a binary-options exploit drained multiple assets. In that window, the official @injective account posted twice — both marketing. "ICYMI our AI Agent SDK is live." "Bridge your ETH to Injective." Zero mention of the halt. No "funds are… — Paddy-earthling (@ErthlingPaddy) August 31, 2026

Technical Flaw and Transparency Criticism

The root cause traces to a market identifier collision in Injective's core logic. The protocol generates market_id by concatenating oracleType, ticker, quoteDenom, oracleSymbol, and oracleProvider without separators or length prefixes. This hashing scheme allowed the attacker to create an INJ-denominated insurance fund that collided with the identifier of a USDC-denominated binary options market. Identifier collisions of this kind are a well-known class of bug in systems that build keys from concatenated unstructured fields, which is why many protocols adopt length-prefixed or namespace-separated identifiers.

When settlement entered the no-price refund path, the system attempted to cover the manufactured USDC deficit using the raw integer balance of the attached INJ fund. Because the code treated minimal INJ balances as sufficient coverage for the dollar-denominated shortfall, it bypassed the required haircut among remaining positions and permitted full withdrawals of artificially inflated balances.

The incident has renewed scrutiny of Injective's decision to remove its core chain repositories from GitHub, a move previously justified as reducing attack surface. Critics contend the exploit demonstrates the fundamental limits of security through obscurity: the attacker relied solely on public SDK documentation, legacy compiled binaries up to version 1.17.2, and the live Frontrunner testnet to empirically reverse-engineer the vulnerability. Meanwhile, independent auditors and whitehat researchers were denied the source-level access necessary to identify the flaw proactively. The episode adds to a recurring industry debate over closed-source chain code, echoing earlier disputes over whether withholding source materially deters determined attackers or primarily hampers independent review.

Injective made its core chain code private — injective-core and injective-chain are both gone from GitHub (check for yourself: 404). The stated logic: harder for attackers to find bugs. This exploit is the counterargument. You don't need the source to find this. The attack… — Paddy-earthling (@ErthlingPaddy) August 31, 2026

Communication failures compounded the technical breach. Throughout the halt, Injective's official social media channels published marketing content promoting new products without acknowledging the incident or reassuring users. This approach contrasted sharply with protocols like MANTRA and Cronos, which publicly disclosed recent outages.

An on-chain message offering a bounty was sent to the attacker from an unverified smart wallet, though Injective has not confirmed official involvement, and the sender's identity remains ambiguous. At the time of writing, the protocol had issued no public statement regarding the exploit, its impact on users, or planned remediation measures. Key open questions for observers include whether the consolidated ETH at 0x5a18…69ea moves, whether an official bounty or negotiation follows, and whether Injective discloses a patch or restores public source access in response to the incident.