CVE-2026-52736 in Zebra
Riassunto
di VulDB • 20/08/2026
ZEBRA è un nodo Zcash scritto interamente in Rust. Prima della versione 4.5.0, un peer P2P remoto non autenticato può bloccare (stall) un nodo Zebra avviando una race condition tra un corpo di blocco non valido e il corpo canonico valido per lo stesso hash dell'intestazione del blocco. ZIP-244 consente all'attaccante di mutare i dati di autenticazione dello scriptSig della coinbase mantenendo invariati gli identificatori delle transazioni, la radice merkle (merkle root) e l'hash dell'intestazione del blocco; pertanto il corpo avvelenato fallisce successivamente nella validazione degli impegni ma condivide lo stesso hash canonico. In zebra-state/src/service.rs, queue_and_commit_to_non_finalized_state registrava l'hash in non_finalized_block_write_sent_hashes prima che la validazione contestuale fosse completata e non lo rimuoveva quando il task di scrittura rifiutava il corpo del blocco. Quando successivamente arrivava il corpo legittimo (honest body), l'hash memorizzato nella cache causava un trattamento duplicato in KnownBlock::WriteChannel, sopprimendo tale arrivo e lasciando il nodo bloccato a un'altezza inferiore fino al riavvio o alla riorganizzazione della catena. Questo problema è stato risolto nella versione 4.5.0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.