CVE-2026-52733
Publiée le 2026-08-18 · Dernière modification le 2026-08-19
Les nœuds Zcash utilisant des versions de Zebra antérieures à la 4.5.0 sont susceptibles de subir une corruption d'état en cas de fork de la chaîne. Un attaquant distant non authentifié peut déclencher ce problème en influençant un fork, amenant le nœud à stocker des données de sous-arbre obsolètes, ce qui entraîne des échecs de synchronisation du portefeuille ou des états de portefeuille incorrects pour les portefeuilles légers (light wallets) connectés. Cette attaque est complexe à exécuter, mais elle ne nécessite aucune interaction de l'utilisateur ni de privilèges particuliers au-delà de l'accès réseau à la blockchain.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, a natural or attacker-influenced chain fork can leave stale Sapling and Orchard note-commitment subtree roots in Zebra state. In zebra-state/src/service/non_finalized_state/chain.rs, Chain::pop_tip removed a reverted tip block but did not remove subtree entries whose end_height belonged to that block, unlike the cleanup performed by pop_root. When the winning fork later finalized, the abandoned branch's stale subtree data could be written to RocksDB and survive node restarts. The corrupted history can cause z_getsubtreesbyindex consumers such as lightwalletd and light wallets to receive incorrect subtree roots, producing wallet synchronization failures or incorrect wallet state and requiring a full state rebuild for recovery. This issue is fixed in version 4.5.0.