Skip to main content

Zcash Zebra CVE-2026-104436

| EUVDEUVD-2026-91446 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-02 VulnCheck GHSA-4m38-rccq-j8gv
6.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Open inbound P2P connections to zebrad
  2. Delivery
    Craft oversized getblocks/getheaders locator
  3. Exploit
    Send 65,535-hash vectors from Sybil peers
  4. Execution
    Trigger per-hash chain lookups on blocking pool
  5. Impact
    Exhaust blocking-pool threads, degrade validation/RPC/mempool

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitable only against a zebrad node (<=4.4.1 / before 4.5.0) that accepts inbound P2P connections; the attacker sends getblocks or getheaders messages whose block-locator vector exceeds the protocol's 101-entry limit (up to 65,535 hashes via the generic MAX_PROTOCOL_MESSAGE_LEN-derived bound). Meaningful impact additionally requires significant attacker bandwidth (~2 MiB per request) and multiple sustained/Sybil peers. Limiting factors that reduce real-world risk: existing backpressure mechanisms (load shedding, sequential per-peer message processing, connection limits), and that nodes not accepting inbound connections are unaffected; impact is performance degradation, not full node crash.

Impact

This is a genuine but modest-priority issue best characterized as a resource-exhaustion/CPU-amplification flaw rather than a critical threat. The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N) scores 6.3 (Medium): network-reachable and unauthenticated, but with HIGH attack complexity and a present Attack Requirement (AT:P), and only LOW availability impact (VA:L) with no confidentiality or integrity impact. These signals align well with the vendor advisory, which explicitly states real-world exploitability is limited - degradation (not outage) requires ~2 MiB per request, sustained load, and multiple Sybil peers, and is further bounded by existing backpressure (load shedding, sequential per-peer processing, connection limits). There is no EPSS score, KEV listing, or public exploit provided in the input, so the status is no public exploit identified at time of analysis and no confirmed exploitation. The AC:H/AT:P metrics are consistent with the description's emphasis on attacker bandwidth and Sybil requirements, so no signals conflict. Net: a legitimately fixable node-stability bug for Zcash/Zebra operators, but not an urgent, widely-weaponizable vulnerability.

Exploit ScenarioDerived

An attacker establishes multiple inbound P2P (Sybil) connections to a public-facing zebrad node (<=4.4.1) and sends a stream of maximally-sized getblocks/getheaders messages, each carrying up to 65,535 locator hashes instead of the ~101 the protocol expects. Each message occupies a tokio blocking-pool thread for roughly 10-65ms performing per-hash chain lookups, and sustained parallel requests degrade state-read performance for block validation, RPC, and mempool. No public exploit code is identified in the provided data; exploitation requires significant attacker bandwidth.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 02, 2026

Resource exhaustion in Zcash Zebra (zebrad) 4.4.1 and earlier allows unauthenticated remote P2P peers to tie up blocking-pool threads by sending getblocks or getheaders messages with block-locator vectors far larger than the protocol's 101-entry limit, degrading block validation, RPC, and mempool lookups. The root cause is an uncapped locator length (accepting up to 65,535 hashes derived from the generic MAX_PROTOCOL_MESSAGE_LEN allocation bound) with each hash triggering a chain lookup on a blocking-pool thread. Practical impact is bounded: it requires roughly 2 MiB of attacker bandwidth per request and multiple sustained/Sybil peers, existing backpressure (load shedding, per-peer sequential processing, connection limits) constrains the effect, nodes that do not accept inbound connections are unaffected, and there is no public exploit identified at time of analysis; the independent assessment rates this a modest-priority availability weakness, not a node crash. Vendor patches are available and the fix has been merged upstream.

RemediationAI

Upgrade zebrad to 4.5.0 or later (and, for library consumers, zebra-chain to 8.0.0 or later), which caps block::Hash::max_allocation() at MAX_BLOCK_LOCATOR_LENGTH = 101 to match zcashd's MAX_LOCATOR_SZ, causing the deserializer to reject oversized locators before any allocation or iteration occurs; the upstream fix is in pull request https://github.com/ZcashFoundation/zebra/pull/10570 (commit 8981a1b95d4807cad99e5bb3b94fc8bc723ac033) and the advisory is at https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-443g-gwgp-49x4. Because this is an availability-only, bandwidth-and-Sybil-gated issue, no specific workaround is required per the vendor, as existing backpressure mechanisms (load shedding, sequential per-peer message processing, and configuration connection limits) already bound the practical impact; however, operators who cannot patch immediately can reduce exposure by not accepting inbound P2P connections (removing or restricting the listen address so the node dials out only), though the trade-off is that the node stops serving blocks/transactions to the network, and by lowering the maximum inbound peer connection count or allowing only trusted peers, which reduces the number of simultaneous Sybil sources at the cost of reduced peer diversity and resilience. Monitor blocking-pool saturation and RPC latency as detection signals for attempted abuse until patched.

Affected VersionsENISA

zebra 0 <8.0.0
zebra 0 <4.5.0

Affected Packages

cargo zebra-chain fix: 8.0.0
cargo zebrad fix: 4.5.0
euvd zebra fix: 4.5.0, 8.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in cargo, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Zebra is the Zcash Foundation's Rust implementation of a Zcash full node; its peer-to-peer wire protocol is modeled on Bitcoin's, where getblocks/getheaders requests include a block locator vector used to find a chain intersection. The vulnerability is CWE-770 (Allocation of Resources Without Limits or Throttling) in the read_getblocks and read_getheaders codec paths: instead of validating the CompactSize vector count against the protocol-specification limit (101 entries, matching zcashd's MAX_LOCATOR_SZ), the deserializer relied on block::Hash::max_allocation(), which permits (MAX_PROTOCOL_MESSAGE_LEN - 1) / 32 = 65,535 hashes. The read_headers path already implemented the correct pattern with a pre-deserialization check against MAX_HEADERS_PER_MESSAGE = 160, so the omission was specific to the two locator paths. Each accepted locator hash drives a per-hash chain lookup (HashMap::contains_key plus RocksDB::contains_hash) inside find_chain_intersection, executing on a tokio blocking-pool thread; a single maximally-sized message occupies such a thread for roughly 10-65 ms, and sustained concurrent submissions from many peers exhaust the blocking pool and slow state reads for block validation, RPC, and mempool. A legitimate locator is logarithmic in chain length (~30 hashes for the ~3M-block Zcash chain) and Zebra's own send-side cap is MAX_FIND_BLOCK_HASHES_RESULTS = 500, so oversized vectors are anomalous and easily distinguishable. Assessment-wise this is an availability-only flaw (C:N/I:N/A:L per the assessed CVSS:3.1 vector AV:N/AC:H/PR:N/UI:N), with the high attack-complexity rating reflecting the bandwidth and multi-peer prerequisites.

Know when Zebra gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

Remote unauthenticated P2P (AV:N/PR:N), but AC:H because meaningful impact needs high bandwidth and multiple Sybil peers against backpressure; only partial availability degradation, no C/I impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 02, 2026 - 12:02 EUVD

DescriptionCVE.org

Zebra before 4.5.0 contains an uncontrolled resource consumption vulnerability that allows remote P2P peers to exhaust blocking-pool threads by sending oversized block locator vectors. Attackers can send getblocks or getheaders messages with up to 65,535 locator hashes, triggering per-hash chain lookups that degrade block validation, RPC, and mempool performance.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Low
Zebra is a niche alternative Zcash full-node client, operator-run
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Zebra

View all
CVE-2026-44499 HIGH POC
8.7 May 08

Remote denial-of-service in Zebra (Zcash node implementation) versions prior to 4.4.0 allows unauthenticated attackers t

CVE-2020-10875 HIGH POC
7.5 Mar 23

Motorola FX9500 devices allow remote attackers to conduct absolute path traversal attacks, as demonstrated by PL/SQL Ser

CVE-2021-32089 CRITICAL
9.8 May 11

An issue was discovered on Zebra (formerly Motorola Solutions) Fixed RFID Reader FX9500 devices. Rated critical severity

CVE-2026-109363 HIGH
8.7 Oct 12

Remote, unauthenticated denial of service in Zcash Foundation's Zebra full node: versions 6.4.0 through 6.4.1 abort when

CVE-2026-104431 HIGH
8.7 Oct 02

Unauthenticated denial of service in Zebra (Zcash Foundation's full node implementation) before 6.0.0 allows remote peer

CVE-2026-104430 HIGH
8.7 Oct 02

Remote unauthenticated attackers can cause a consensus divergence in Zcash Zebra nodes (zebrad 4.5.0 and zebra-script 7.

CVE-2026-104423 HIGH
8.7 Oct 02

Zcash Foundation's Zebra full node (zebrad) before 6.2.1 can be stalled in block verification by any unauthenticated pee

CVE-2026-104422 HIGH
8.7 Oct 02

Block-sync denial of service in Zebra (zebrad), the Rust implementation of a Zcash full node, affects all versions befor

CVE-2026-104437 HIGH
8.3 Oct 02

Consensus divergence in Zebra Zcash nodes before 4.4.0 allows unauthenticated remote attackers to craft V5 transparent t

CVE-2026-104435 HIGH
8.3 Oct 02

Zcash Zebra nodes running zebrad 4.4.0 or zebra-script 6.0.0 incorrectly accept V5 transparent transactions in which a S

CVE-2026-104427 HIGH
8.2 Oct 02

Denial of service in the Zcash Foundation's Zebra full node before 6.1.0 lets remote unauthenticated peers stall node sy

CVE-2026-104426 HIGH
8.2 Oct 02

Denial of service in the Zcash Foundation's Zebra full node implementation before 6.1.0 allows an unauthenticated remote

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy