CVE-2026-52739 in Zebrainformazioni

Riassunto

di VulDB • 18/08/2026

ZEBRA è un nodo Zcash scritto interamente in Rust. Prima della versione 4.5.0, un produttore di blocchi malintenzionato può terminare zebrad inserendo la stessa transazione blindata (shielded) sia nel blocco padre non finalizzato che nel suo blocco figlio. In zebra-state/src/service/non_finalized_state/chain.rs, Chain::push originariamente inseriva l'hash della transazione in tx_loc_by_hash e verificava l'univocità prima di aggiornare i dati blindati ed eseguire i controlli duplicati per gli nullifier Sprout, Sapling o Orchard. La transazione ripetuta raggiungeva quindi l'affermazione "le transazioni devono essere univoche all'interno di una singola catena" (transactions must be unique within a single chain) prima che la validazione contestuale potesse rifiutarla correttamente. Le build di rilascio di Zebra utilizzano panic equals abort, pertanto l'assertion raggiungibile termina l'intero processo; lo sfruttamento richiede o due blocchi consecutivi minerati dall'attaccante o un blocco figlio minerato dall'attaccante immediatamente dopo che un blocco onesto include la transazione blindata dell'attaccante. Questo problema è stato risolto nella versione 4.5.0.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsabile

GitHub M

Prenotare

08/06/2026

Divulgazione

18/08/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00394

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!