Les développeurs renforcent la sécurité de Zcash en corrigeant plusieurs exploits graves dans l'infrastructure de base

Table des matières Les vulnérabilités de Zcash ont été corrigées sur deux implémentations de nœuds complets suite à une divulgation de sécurité coordonnée. Le 17 avril 2026, Zcash Open Development Lab a publié zcashd v6.12.1, tandis que la Fondation Zcash a publié Zebra v4.3.1. Le chercheur en sécurité Alex « Scalar » Sol a signalé les problèmes le 4 avril 2026. Quatre vulnérabilités ont été corrigées, couvrant un bug de crash de nœud, une lacune dans l'application du consensus et un contournement de la comptabilité par tourniquet. Aucun fonds des utilisateurs n’a été compromis et aucune inflation de l’offre de ZEC ne s’est produite à aucun moment. Le bug le plus directement exploitable était un crash de transaction Orchard présent à la fois dans zcashd et Zebra. Une transaction contrefaite avec un codage de clé aléatoire composé de zéros pourrait immédiatement faire planter n'importe quel nœud qui la traite. La diffusion répétée d’une telle transaction pourrait effectivement empêcher les nœuds de participer au réseau. Aucune transaction déclenchant cette condition n'a été trouvée sur le réseau principal Zcash avant le patch. Un écart d’application connexe existait également entre les deux mises en œuvre. Zebra a déjà appliqué une exigence de protocole sur les clés publiques éphémères dans les actions Orchard, mais pas zcashd. Cela signifiait qu'une transaction contrefaite pouvait être acceptée par zcashd tout en étant rejetée par Zebra. Une telle transaction aurait pu forcer une bifurcation de chaîne visible entre les nœuds exécutant différents clients. Un bug distinct dans zcashd, introduit avec la v5.10.0 en août 2024, pourrait désactiver la comptabilité tourniquet dans certaines conditions. La réception d’un en-tête de bloc en double d’un homologue pourrait réinitialiser silencieusement le suivi du solde du pool sur null. Cette condition pourrait résulter du comportement ordinaire d’un réseau peer-to-peer, et pas seulement d’une attaque délibérée. Le tourniquet suit les soldes ZEC à travers des pools de valeurs protégés et transparents et sert de couche de sécurité critique. Même ainsi, ce bug n'était pas exploitable indépendamment pour voler ou gonfler ZEC. La divulgation officielle a confirmé que « son exploitation pour voler des fonds nécessiterait en plus une vulnérabilité de solde distincte et indépendante ». Divulgation de sécurité : nous avons publié zcashd v6.12.1 et la Fondation Zcash a publié Zebra v4.3.1, corrigeant quatre vulnérabilités, notamment un bug d'encodage d'action Orchard qui pourrait faire planter des nœuds et un problème de partage de consensus connexe entre les deux clients. Pools miniers… – Zcash Open Development Lab (@zodl_co) 17 avril 2026 Toute violation du tourniquet qui en résulterait aurait également été visible publiquement comme une anomalie de chaîne détectable. Aucune anomalie de ce type ne s'est produite sur le réseau principal Zcash avant le déploiement du correctif. Zcash Open Development Lab a abordé directement la divulgation en déclarant : « Les pools miniers représentant la grande majorité de la puissance de hachage du réseau, et le principal opérateur exécutant Zebra dans la production minière, ont déployé des correctifs avant cette divulgation. » Les ingénieurs de ZODL, Kris Nuttycombe et Daira-Emma Hopwood, ont rédigé les correctifs zcashd et ont examiné le travail de chacun. Nuttycombe a abordé le crash d'Orchard, les lacunes en matière d'application et le bug de comptabilité des tourniquets. Hopwood a créé des correctifs de durcissement pour un comportement non défini en cas de débordement d'entier et la sécurité des exceptions. Les pools miniers ViaBTC, Luxor, F2Pool et AntPool – chacun exécutant zcashd – ont été contactés directement pour la coordination. Foundry, qui gère Zebra dans la production minière, a également déployé son correctif avant sa publication publique. Conrado Gouvêa de la Fondation Zcash a développé et livré séparément le patch Zebra. Cette sensibilisation a permis de préserver la stabilité du réseau tout au long du processus de divulgation. La version zcashd v6.12.1 comprenait également des modifications de renforcement plus larges au-delà des principaux correctifs de vulnérabilité. Un point de contrôle de la valeur d'approvisionnement de la chaîne a été ajouté lors de l'activation de NU6.1 pour permettre une détection future de la corruption. Des protections contre les dépassements d'entiers ont été ajoutées dans les routines d'accumulation de solde de pool dans plusieurs chemins de code. Ces ajouts fournissent une couche de défense supplémentaire contre les scénarios d’exploitation extrêmes. Il s’agit de la deuxième série de vulnérabilités Zcash révélées en un mois. Sur X, Zcash Open Development Lab a déclaré : "Nous n'avons aucune preuve que l'un de ces bugs ait été exploité. Les fonds des utilisateurs et la confidentialité n'ont jamais été menacés, et aucune inflation de l'offre de ZEC n'a été possible." Alex « Scalar » Sol a également signalé la vulnérabilité de vérification Sprout de mars 2026 via les mêmes canaux coordonnés. Les utilisateurs exécutant zcashd ou Zebra doivent immédiatement mettre à niveau vers les dernières versions corrigées.