Skip to main content

Zcash Zebra EUVDEUVD-2026-91444

| CVE-2026-104434 HIGH
Reachable Assertion (CWE-617)
2026-10-02 VulnCheck GHSA-fxgv-g76m-8hg2
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain RPC credentials or cookie
  2. Delivery
    Submit crafted Unified Address to z_listunifiedreceivers
  3. Exploit
    Sapling receiver parse returns None
  4. Execution
    .expect() panics with panic=abort
  5. Persist
    zebrad process crashes
  6. Impact
    Replay on restart to sustain outage

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Reachable assertion handling
Exploitation Conditions

Exploitation requires that (1) the zebrad node has the RPC server enabled via rpc.listen_addr set to a TCP address in zebrad.toml - this is NOT the default; and (2) the attacker can authenticate to the RPC endpoint. Under the DEFAULT enable_cookie_auth=true, authentication requires reading the local .cookie file, which generally implies local filesystem access, significantly limiting remote exploitation. Only when enable_cookie_auth=false can any network client reaching the RPC port trigger it without a credential barrier. The specific trigger is a call to the z_listunifiedreceivers RPC method with a structurally valid Unified Address whose Sapling receiver carries 43 bytes that fail Jubjub subgroup validation. Limiting factors: RPC must be explicitly enabled, cookie authentication (default) confines most attacks to local actors, and impact is availability-only (node crash) with no data exposure.

Impact

This is a moderate-priority availability issue (CVSS 4.0 base 7.1, VA:H) rather than a top-tier emergency, and the real-world signals are mixed. The CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N) indicates a low-complexity network attack requiring only low privileges, with impact limited purely to availability (VC:N/VI:N/VA:H) - no data compromise. However, the 'network + low privilege' framing understates the practical barrier: the GHSA advisory confirms that in the DEFAULT configuration (enable_cookie_auth=true), exploitation requires reading the local .cookie file, which typically means local access - so the PR:L metric is effectively satisfied only by attackers who are already local or who have been given RPC credentials. The fully remote-unauthenticated-against-network scenario only applies in the non-default enable_cookie_auth=false deployment, and only when rpc.listen_addr is set at all (RPC is a non-default opt-in). No EPSS score, KEV listing, or public POC was provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the finding originates from VulnCheck research rather than observed attacks. Net: a genuine, easily-triggered crash bug worth patching promptly for any node operator exposing RPC, but the limited deployment footprint, availability-only impact, and the authentication/local-access gate keep this well below critical real-world urgency.

Exploit ScenarioDerived

An attacker with valid RPC access to a zebrad node (either via a leaked/readable .cookie file under the default auth, or any network client if cookie auth is disabled) sends a single z_listunifiedreceivers call containing a structurally valid Unified Address whose 43-byte Sapling receiver encodes a non-subgroup Jubjub point. The handler's .expect() on the failed parse panics, and because the release profile uses panic="abort", the entire zebrad process terminates. The attacker simply replays the same request after each restart to keep the full node permanently offline. No public exploit code was identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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

An authenticated RPC client can crash a Zcash Foundation Zebra full node by calling the z_listunifiedreceivers RPC method with a crafted Unified Address whose Sapling receiver carries 43 bytes that fail Jubjub subgroup validation, triggering a reachable assertion (.expect()) that aborts the entire zebrad process because Zebra's release profile is built with panic = "abort". Affected releases are zebra-rpc through 7.0.0 and zebrad through 4.4.1 (fixed in zebra-rpc 8.0.0 and zebrad 4.5.0), and the request is repeatable on restart, so a node can be kept persistently offline. Exploitation requires the RPC server to be explicitly enabled via rpc.listen_addr and the attacker to authenticate - with the default enable_cookie_auth=true this generally implies local access to the .cookie file, making fully remote exploitation a non-default configuration - and no public exploit code was identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to zebrad 4.5.0 and zebra-rpc 8.0.0, which replace the panicking .expect() with proper error propagation (map_err into an RPC ErrorObject) or route the call through the existing try_from_unified path that already returns Err for invalid Sapling receivers; see https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-c8w6-x74f-vmg3. If upgrading is not immediately possible, the primary compensating control is to disable the RPC server entirely by removing rpc.listen_addr from zebrad.toml - this fully closes the vector but forfeits all RPC-based monitoring, wallet integration, and operational tooling. Where the RPC endpoint must remain available, keep enable_cookie_auth set to true (the default) and lock down filesystem permissions on the .cookie file so only trusted local operators can read it, accepting that this confines the risk rather than eliminating it for local or credentialed actors. As a further layer, place a reverse proxy or API gateway in front of the RPC port that rejects or filters z_listunifiedreceivers requests with address parameters supplied by untrusted callers; this adds latency and configuration complexity and can be bypassed by any client that reaches the RPC port directly, so it should not substitute for the patch. Note that the crash is repeatable on restart, so restart-based recovery alone does not restore availability until the patch or a mitigation is in place.

Affected VersionsENISA

zebra 0 <4.5.0
zebra 0 <8.0.0

Affected Packages

cargo zebra-rpc 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

The issue is a reachable assertion (CWE-617) in Zebra's z_listunifiedreceivers RPC handler, located at zebra-rpc/src/methods.rs around line 2893. Unified Addresses in Zcash are encoded with F4Jumble and bech32m, and the zcash_address::unified::Encoding::decode routine only validates the structural envelope - Jumble wrapping, bech32m checksum, typecode ordering, and the fixed 43-byte length of a Sapling receiver. It does not validate that the embedded pk_d element is a valid Jubjub subgroup point or that the diversifier yields a valid g_d preimage; most random 32-byte strings fail that subgroup check. The handler then calls Address::try_from_sapling(network, data), which delegates to sapling_crypto::PaymentAddress::from_bytes; when that returns None, the call site fires .expect("using data already decoded as valid"), and because the release profile sets panic = "abort", the panic terminates the whole node rather than just the RPC task. The same crate already handles this case correctly in try_from_unified at zebra-chain/src/primitives/address.rs:99-110, which propagates an Err instead of panicking; the vulnerable path simply bypasses that validated route. The result is availability-only impact - no confidentiality or integrity loss - consistent with the assessed CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H (vendor CVSS 4.0 base 7.1, VA:H).

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 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Authenticated RPC access required (PR:L), low-complexity single-request trigger over network (AV:N/AC:L), process abort yields availability-only impact (A:H, C/I:N, scope unchanged).

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Oct 02, 2026 - 12:02 EUVD
CVE Published
Oct 02, 2026 - 11:38 cve.org
HIGH 7.1

DescriptionCVE.org

ZcashFoundation Zebra zebra-rpc before 8.0.0 and zebrad before 4.5.0 contain a reachable assertion in the z_listunifiedreceivers RPC handler, which calls expect() on Sapling receiver parsing that fails for Unified Addresses carrying invalid Jubjub points. Authenticated RPC clients can submit such an address to abort the zebrad process, repeatably keeping the node offline.

Technical POC Analysis

Evidence base: GitHub Security Advisory GHSA-c8w6-x74f-vmg3 only.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Organizations running Zcash Foundation Zebra full nodes with the RPC server enabled face a high-severity availability risk from CVE-2026-104434, which can crash and persistently disable affected nodes, disrupting Zcash transaction processing and network participation. The vulnerability affects zebra-rpc through 7.0.0 and zebrad through 4.4.1, and the vendor has released fixed versions zebra-rpc 8.0.0 and zebrad 4.5.0. Leadership should prioritize patching or disabling RPC exposure for these nodes to prevent operational outages.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Low
Zebra is a niche alternative Zcash full-node client, limited operator base
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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
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