CVE-2026-52739

MEDIUM
MEDIUM Priority: 0.03 BB Relevance: 62/100
Published: 2026-08-18 Modified: 2026-11-09 First seen: 2026-11-09 Status: active

Attack Surface

Network No Auth No Interaction

CVSS Vector Breakdown

AV: Network
AC: High
PR: None
UI: None
S: Unchanged
C: None
I: None
A: High

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 Classification (1)

Bug Bounty Relevance

62 / 100
✓ Network accessible
✓ No authentication
✓ No user interaction

CVSS Score

5.9 / 10.0 v3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

EPSS — Exploitation Probability

0.52%
Raw Score 0.005150
Percentile 44.5%
Date 2026-11-13

EPSS Trend

2026-11-13
0.00515
2026-11-12
0.00515
2026-11-10
0.00515
2026-11-09
0.00515

Intelligence Sources

nvd ref →