PT-2026-55472 · Zcashfoundation+2 · Zebra+2
CVE-2026-52736
·
Published
2026-07-02
·
Updated
2026-08-18
CVSS v4.0
8.7
High
| Vector | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Name of the Vulnerable Software and Affected Versions
ZEBRA versions prior to 4.5.0
Description
A remote unauthenticated P2P peer can stall a Zcash node by racing an invalid block body against a valid canonical body for the same block header hash. This is possible because ZIP-244 allows an attacker to mutate coinbase
scriptSig authentication data while maintaining the same transaction identifiers, merkle root, and block header hash. In the queue and commit to non finalized state function within zebra-state/src/service.rs, the node records the hash in non finalized block write sent hashes before contextual validation is complete. If the poisoned body is rejected, the hash is not removed from the cache. When the honest body subsequently arrives, the node identifies the cached hash as a duplicate via KnownBlock::WriteChannel and suppresses it, leaving the node stuck at a specific block height until a restart or reorganization occurs.Recommendations
Update ZEBRA to version 4.5.0 or later.
As a temporary mitigation, restart the node to clear the in-memory sent-hash cache and allow the valid block to be re-fetched.
Exploit
Fix
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Zebra
Zebra-State
Zebrad