CVE-2026-52739 ZEBRA: Repeated Non-Finalized Shielded Transaction Aborts Zebra Before Duplicate-Nullifier Rejection
A malicious block producer can crash the Zebra Zcash node by including duplicate shielded transactions in consecutive blocks, causing a process abort.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-52739?
CVE-2026-52739 is a medium-severity denial of service vulnerability in ZcashFoundation zebra, published on 18 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, a malicious block producer can terminate zebrad by placing the same shielded transaction in a non-finalized parent block and its child. In zebra-state/src/service/non_finalized_state/chain.rs, Chain::push originally inserted the transaction hash into tx_loc_by_hash and asserted uniqueness before updating shielded data and running the duplicate Sprout, Sapling, or Orchard nullifier checks. The repeated transaction therefore reached the transactions must be unique within a single chain assertion before contextual validation could reject it cleanly. Zebra release builds use panic equals abort, so the reachable assertion terminates the entire process; exploitation requires either two consecutive attacker-mined blocks or an attacker-mined child immediately after an honest block includes the attacker's shielded transaction. This issue is fixed in version 4.5.0.
Weakness: CWE-248
Which versions are affected by CVE-2026-52739?
4 open source packages ship an affected version, including zebra-state and zebrad.
| Package | Affected | Fixed in |
|---|---|---|
zebra-state crates.io | All versions | 7.0.0 |
zebra-state crates.io | All versions | 7.0.0 |
zebrad crates.io | All versions | 4.5.0 |
zebrad crates.io | All versions | 4.5.0 |
How do I fix CVE-2026-52739?
Upgrade zebra-state to 7.0.0 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-52739 being exploited?
There is no known exploitation of CVE-2026-52739 in the wild and no public exploit code.
Sources
Also known as GHSA-hhm7-qrv5-h4r6.