CVE-2026-52736
WysokieCVSS 8.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
ZEBRA przed wersją 4.5.0 ma podatność na zablokowanie węzła przez zdalnego, nieuwierzytelnionego peera P2P. Atakujący może wysłać nieprawidłowe ciało bloku, które ma ten sam hash co prawidłowe ciało, co powoduje, że węzeł odrzuca później prawidłowe ciało i pozostaje w tyle o jeden blok aż do restartu lub reorganizacji. Problem naprawiono w wersji 4.5.0.
Ocena ryzyka
Ryzyko obejmuje możliwość zdalnego zablokowania synchronizacji węzła, co może prowadzić do opóźnień w przetwarzaniu transakcji i utraty spójności z siecią. Atak nie wymaga uwierzytelnienia.
Rekomendacja
Zaleca się aktualizację ZEBRA do wersji 4.5.0 lub nowszej. Należy również monitorować węzły pod kątem opóźnień w synchronizacji.
Oryginalny opis (angielski, źródło NVD)
ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, a remote unauthenticated P2P peer can stall a Zebra node by racing an invalid block body against the valid canonical body for the same block header hash. ZIP-244 permits the attacker to mutate coinbase scriptSig authentication data while retaining the transaction identifiers, merkle root, and block header hash, so the poisoned body fails later commitment validation but shares the canonical hash. In zebra-state/src/service.rs, queue_and_commit_to_non_finalized_state recorded the hash in non_finalized_block_write_sent_hashes before contextual validation completed and did not remove it when the write task rejected the body. When the honest body later arrived, the cached hash caused KnownBlock::WriteChannel duplicate handling to suppress it, leaving the node stuck one height behind until restart or reorganization. This issue is fixed in version 4.5.0.

