
Chronologie
Le 2025-06-10, une vulnérabilité potentielle a été signalée au ANZA Github Security Advisory par Suneal_eth (un chercheur en sécurité de ZkSecurityxyz). Le rapport contenait une preuve de concept pour la vulnérabilité. Il n’y a aucun exploit connu de la vulnérabilité. Les ingénieurs d’ANZA, de Firedancer et de Jito ont commencé à évaluer le rapport et ont confirmé qu’il permettait la construction de preuves arbitraires que le programme de preuve Elgamal ZK accepterait comme valide.
Les ingénieurs ont créé un correctif pour résoudre le problème signalé, cependant, étant donné qu’il s’agit du deuxième problème ZK Elgamal signalé, et par abondance de prudence, les ingénieurs ont choisi de publier une modification du programme Token-2022 amélioré pour désactiver les transferts confidentiels jusqu’à ce que davantage d’audit puisse être effectué. Le programme Token-2022 mis à jour a été déployé via un multisig le 2025-06-11 et a atténué la vulnérabilité potentielle signalée. Le 2025-06-13, une demande de mise à niveau urgente a été envoyée au canal MB-Announcements du Solana-Tech Discord, demandant aux opérateurs d’adopter Agave V2.2.16, Jito-Solana v2.2.16 ou Firedancer V0.505.20216. Les mises à niveau logicielle demandées contenaient une activation de fonctionnalités pour désactiver le programme ZK Elgamal Proof. Le 2025-06-19, vers 06h00 UTC au début de la mainnet-bêta Epoch 805, le programme ZK Elgamal Proof a été désactivé via l’activation des fonctionnalités.
Préliminaires
Un transfert confidentiel de jetons 2022 est exécuté via deux programmes: le programme Token-2022 et le programme ZK Elgamal Proof. Le programme Token-2022 est un programme populaire sur chaîne qui gère la logique d’application principale pour les menthes de jetons et les comptes. Le programme ZK Elgamal Proof est un programme natif qui vérifie l’exactitude des preuves complexes de connaissances zéro certifiant la validité des équilibres cryptés dans les comptes et les transactions.
En règle générale, un système de preuve de connaissance zéro est mis en œuvre en convertissant un protocole interactif interactif interactif à connaissances zéro en un système de preuve non interactif en utilisant la « transformation Fiat-Shamir ». La transformation Fiat-Shamir spécifie comment un prover peut générer un aléatoire public en utilisant une fonction de hachage cryptographique. Lors de la vérification des preuves générées via la transformation Fiat-Shamir, la logique de vérification doit hacher tous les composants algébriques comprenant la preuve.
Le bug
Dans le programme de preuve ZK Elgamal en chaîne, un composant n’a pas été inclus dans un hachage utilisé pour générer une transcription pour la transformation Fiat-Shamir. Un attaquant sophistiqué pourrait utiliser ce composant incompétent pour développer une preuve forgée d’une action non autorisée qui passe la vérification. Cette vulnérabilité n’affecte que les jetons confidentiels de jetons-2022 et permet à un attaquant d’effectuer des actions non autorisées telles que la baisse des jetons illimités ou la vidange de l’équilibre confidentiel d’une victime.
Le correctif
Le programme ZK Elgamal est un nouveau programme sur Solana MainNet Beta. Après une exploration, il a été constaté que seules les caractéristiques de transfert confidentielles du programme Token-2022 utilisent la fonctionnalité Elgamal affectée par le bogue. Le programme Token-2022 est actuellement un programme de mise à niveau. En tant qu’atténuation à court terme, le programme Token-2022 a été mis à jour pour désactiver les transferts confidentiels le 2025-06-11. Pour atténuer les futures attaques contre le programme ZK Elgamal, et par abondance de prudence, une activation de fonctionnalités a été activée au début de la mainnet-bêta 805 qui a désactivé le programme ZK Elgamal tandis que d’autres audits peuvent être effectués. Le programme ZK Elgamal sera réactivé une fois les audits terminés et que tous les problèmes signalés ont été atténués. Le processus d’audit du programme, de mise en œuvre de tout changement nécessaire, puis de déploiement du logiciel mis à jour prendra au moins quelques mois. Veuillez surveiller les canaux MB-Annouement et MB-FEATURE GATES de la discorde SSOLANA Tech pour d’autres mises à jour.
Impact
Les fonctionnalités Token-2022 qui nécessitent le programme ZK Elgamal sont utilisées par des produits innovants qui sont toujours en test. Alors qu’un certain nombre de principaux stablecoins comme PYUSD, AUSD et USDG ont initialisé les transferts confidentiels, aucun d’entre eux n’a activé cette fonctionnalité pour leurs utilisateurs finaux. L’utilisation réelle des transferts confidentielles est encore extrêmement faible. Aucun volume réel ou valeur en dollars n’est actuellement déplacé par des transferts confidentiels. L’impact est donc minime. Il n’y a aucun exploit connu de la vulnérabilité potentielle.
Tl; dr
Une vulnérabilité potentielle a été signalée de manière responsable. La vulnérabilité pourrait permettre à un attaquant de forger une preuve non valide et de le faire accepter par le programme ZK Elgamal Proof.