Injective dérobé de 4,9 millions de dollars via une collision d'identifiants de marché dans une faille de règlement d'options binaires
Points clés
- •Un attaquant a exploité le 31 août une faille de règlement d'options binaires sur Injective pour extraire environ 4,9 millions de dollars.
- •L'attaque a mobilisé 299 marchés d'options binaires créés sans permission, dotés d'oracles sous contrôle de l'attaquant configurés pour ne jamais fournir de prix, permettant des retraits doublés via des transactions auto-appariées.
- •La cause racine est une collision d'identifiants de marché issue de la concaténation de champs non séparés lors de la génération du market_id, permettant à un fonds d'assurance en INJ d'entrer en collision avec un marché en USDC.
- •Les validateurs ont arrêté la chaîne Injective pendant environ 3 heures et 42 minutes, en n'avançant que d'un seul bloc et en préservant toutes les transactions exécutées, plutôt que d'annuler des transactions comme Cronos l'a fait lors d'un incident récent.
- •Les fonds volés ont été transférés par pont vers Ethereum et consolidés en environ 1 980 ETH à l'adresse 0x5a18…69ea, tandis qu'Injective publiait du contenu marketing sans aucune déclaration publique sur l'incident pendant l'arrêt.

Injective, un protocole blockchain de couche 1 spécialisé dans la finance décentralisée, a été ciblé le 31 août par une attaque qui a détourné environ 4,9 millions de dollars via une vulnérabilité critique dans son système de règlement d'options binaires. Les marchés d'options binaires — où les traders parient sur des issues de prix de type oui/non à une échéance fixée — figurent parmi les produits dérivés structurellement les plus complexes qu'un module d'échange sans permission peut offrir, car l'exactitude du règlement dépend de l'interaction sans cas limites entre la livraison de l'oracle, la logique de remboursement et la comptabilité du fonds d'assurance.
L'attaquant a systématiquement abusé d'un mécanisme de création de marchés sans permission pour lancer 299 marchés d'options binaires instantanés en 19 heures, chacun administré par un oracle sous son contrôle, délibérément configuré pour ne jamais fournir de prix. Les symboles d'oracle étaient explicitement construits pour déclencher le chemin de remboursement sans prix, avec des horodatages d'expiration et de règlement séparés de quelques secondes seulement.
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
L'analyse on-chain montre que l'attaque reposait sur des transactions auto-appariées entre les sous-comptes de l'attaquant. L'acteur a déposé un collateral, pris simultanément des positions longues et courtes à des prix manipulés, puis exploité le mécanisme de remboursement pour extraire environ le double du montant déposé à chaque cycle. Dans une séquence documentée, environ 105 000 USDC ont généré des retraits dépassant 204 000 USDC. Le produit de l'attaque a ensuite été transféré par pont vers Ethereum via CCTP, échangé contre des ETH sur Uniswap, puis consolidé dans l'adresse 0x5a18…69ea, où environ 1 980 ETH — soit environ 4,88 millions de dollars — restaient immobiles au moment de la rédaction.
La chaîne Injective s'est arrêtée pendant environ trois heures et 42 minutes, du bloc 181 027 006 à 16 h 10 UTC au bloc 181 027 007 à 19 h 52 UTC. Les arrêts de chaîne — réalisés lorsque les validateurs se coordonnent pour suspendre la production de blocs — comptent parmi les rares outils d'urgence disponibles pour les réseaux basés sur le Cosmos SDK face à une attaque en cours, mais ils comportent leurs propres compromis, comme l'illustre la divergence entre la réponse d'Injective et celle de Cronos. Contrairement à Cronos, qui a annulé des transactions après un incident récent, Injective n'a avancé que d'un seul bloc au passage, préservant ainsi toutes les transactions exécutées. La dernière tentative d'attaque n'a échoué que parce que son horodatage de règlement a expiré dans un contexte de production de blocs fortement ralentie, tombée à environ 38 minutes d'intervalle juste avant l'intervention des validateurs.
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
Faille technique et critiques sur la transparence
La cause racine remonte à une collision d'identifiants de marché dans la logique fondamentale d'Injective. Le protocole génère le market_id en concaténant oracleType, ticker, quoteDenom, oracleSymbol et oracleProvider sans séparateurs ni préfixes de longueur. Ce schéma de hachage a permis à l'attaquant de créer un fonds d'assurance libellé en INJ entrant en collision avec l'identifiant d'un marché d'options binaires libellé en USDC.
Lorsque le règlement est entré dans le chemin de remboursement sans prix, le système a tenté de couvrir le déficit artificiel en USDC avec le solde entier brut du fonds INJ attaché. Le code considérant que des soldes INJ minimaux suffisaient à couvrir le déficit en dollars, il a contourné la décote (haircut) requise sur les positions restantes et permis des retraits complets de soldes artificiellement gonflés.
L'incident a ravivé les critiques contre la décision d'Injective de retirer ses dépôts de chaîne principaux de GitHub, une mesure auparavant justifiée par la réduction de la surface d'attaque. Les critiques estiment que cette attaque démontre les limites fondamentales de la sécurité par l'obscurité : l'attaquant s'est appuyé uniquement sur la documentation publique du SDK, des binaires compilés antérieurs jusqu'à la version 1.17.2, et le testnet Frontrunner en production pour reconstituer empiriquement la vulnérabilité. Parallèlement, les auditeurs indépendants et les chercheurs whitehat se sont vu refuser l'accès au code source nécessaire pour identifier la faille de manière proactive. L'épisode alimente un débat récurrent dans l'industrie sur le code de chaîne fermé, faisant écho aux controverses précédentes sur la question de savoir si la rétention du code source dissuade réellement les attaquants déterminés ou entrave surtout la revue indépendante.
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
Les défaillances de communication ont aggravé la faille technique. Pendant toute la durée de l'arrêt, les canaux officiels d'Injective sur les réseaux sociaux ont publié des contenus marketing promouvant de nouveaux produits, sans reconnaître l'incident ni rassurer les utilisateurs. Cette approche contraste fortement avec celle de protocoles comme MANTRA et Cronos, qui ont publiquement divulgué leurs pannes récentes.
Un message on-chain proposant une prime a été envoyé à l'attaquant depuis un portefeuille intelligent non vérifié, mais Injective n'a pas confirmé d'implication officielle et l'identité de l'expéditeur reste ambiguë. Au moment de la rédaction, le protocole n'avait émis aucune déclaration publique concernant l'attaque, son impact sur les utilisateurs ou les mesures de correction envisagées. Parmi les questions ouvertes pour les observateurs figurent le déplacement éventuel des ETH consolidés à l'adresse 0x5a18…69ea, la possibilité d'une prime officielle ou d'une négociation, et la publication éventuelle d'un correctif ou du rétablissement de l'accès public au code source en réponse à l'incident.