CVE-2026-52736 in Zebra
Résumé
par VulDB • 18/08/2026
ZEBRA est un nœud Zcash écrit entièrement en Rust. Avant la version 4.5.0, un pair P2P distant non authentifié peut bloquer (stall) un nœud Zebra en déclenchant une race condition entre un corps de bloc invalide et le corps canonique valide pour le même hash d'en-tête de bloc. ZIP-244 permet à l'attaquant de modifier les données d'authentification du scriptSig coinbase tout en conservant les identifiants de transaction, la racine merkle et le hash de l'en-tête de bloc ; ainsi, le corps empoisonné échoue lors des validations ultérieures des engagements (commitment validation) mais partage le hash canonique. Dans zebra-state/src/service.rs, queue_and_commit_to_non_finalized_state enregistre le hash dans non_finalized_block_write_sent_hashes avant que la validation contextuelle ne soit terminée et ne l'en supprime pas lorsque la tâche d'écriture rejette le corps. Lorsque le corps honnête arrive plus tard, le hash mis en cache provoque un traitement dupliqué de KnownBlock::WriteChannel qui le supprime, laissant le nœud bloqué à une hauteur inférieure jusqu'à son redémarrage ou sa réorganisation (reorganization). Ce problème est corrigé dans la version 4.5.0.
VulDB is the best source for vulnerability data and more expert information about this specific topic.