Skip to main content

Zebra (Zcash node) CVE-2026-41583

| EUVDEUVD-2026-28653 CRITICAL
Improper Following of Specification by Caller (CWE-573)
2026-05-08 security-advisories@github.com GHSA-8m29-fpq5-89jj
9.3
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Craft V5 transaction with invalid hash type
  2. Delivery
    Broadcast to Zcash network
  3. Exploit
    Zebra nodes accept, zcashd nodes reject
  4. Execution
    Zebra miner includes in block
  5. Persist
    Network consensus split
  6. Impact
    Execute double-spend on partitioned chains

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Improper following of specification
Exploitation Conditions

Exploitation requires the target Zcash network to include active Zebra nodes running versions prior to 4.3.1 that process transparent transactions. The attack works against default Zebra configurations with no special settings required - any Zebra node accepting V4 or V5 transactions is vulnerable. Network access is sufficient (CVSS AV:N), with no authentication (PR:N), user interaction (UI:N), or elevated privileges needed. The attacker must craft transactions with specifically malformed sighash hash type values: for V5 transactions, using hash type values outside the consensus-restricted set; for V4 transactions, exploiting the canonical vs. raw hash type computation mismatch. Exploitation is LIMITED by the current Zcash network topology: most mining nodes run zcashd rather than Zebra, reducing the probability that an invalid block will be mined and propagated. However, any Zebra node in the network can be exploited for denial-of-service by accepting invalid transactions, and network partition occurs whenever Zebra and zcashd nodes disagree on block validity regardless of miner distribution.

Impact

Real-world risk is critically high due to network-level consensus implications despite no current active exploitation. CVSS 4.0 score of 9.3 reflects maximum exploitability (AV:N/AC:L/PR:N/UI:N) with high integrity and availability impact across both vulnerable and subsequent systems (VI:H/VA:H/SI:H/SA:H). The attack requires no special access or complexity - any network participant can submit malformed transactions to trigger consensus divergence. However, actual impact is currently LIMITED by deployment realities: most Zcash miners run zcashd rather than Zebra, reducing immediate chain-split risk. The vulnerability enables three attack scenarios with different severities: (1) Network partitioning between Zebra and zcashd nodes, fragmenting consensus; (2) Denial of service against Zebra nodes accepting invalid blocks; (3) Potential double-spend attacks if attackers control sufficient Zebra mining power to sustain a minority chain. MISSING DATA: EPSS score not available; no CISA KEV listing; exploitation probability depends on attacker knowledge of Zebra node distribution. CRITICAL ASSESSMENT FACTOR: This is a consensus-layer vulnerability in cryptocurrency infrastructure where even brief exploitation creates irreversible blockchain divergence. Priority for patching is URGENT for any Zebra deployment, especially mining nodes, despite absence of public exploits. The 'Canonical' tag in source intelligence suggests the vulnerability relates to canonicalization issues between implementations.

Exploit ScenarioDerived

An attacker crafts a Zcash V5 transaction with a transparent input signature using an invalid sighash hash type value outside the consensus-allowed range. They broadcast this transaction to the Zcash network. Zebra nodes (pre-4.3.1) accept the transaction as valid due to missing validation logic, while zcashd nodes correctly reject it per consensus rules. If a Zebra mining node includes this transaction in a mined block, that block is accepted by other Zebra nodes but rejected by zcashd nodes, creating an immediate network partition. The attacker can then exploit this split to execute double-spend attacks by broadcasting conflicting transactions to each network partition.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – May 08, 2026

Consensus failure in Zebra nodes before 4.3.1 allows remote attackers to trigger network partitioning by submitting V4 or V5 transactions with invalid sighash hash types. After a refactoring removed critical validation logic from C++ FFI code, Zebra failed to enforce consensus rules restricting hash type values in transparent transaction signatures, creating divergence from zcashd nodes. Attackers can exploit this remotely without authentication (CVSS:4.0 AV:N/AC:L/PR:N) to partition the Zcash network and enable potential double-spend attacks. No public exploit identified at time of analysis, but GitHub advisory (GHSA-8m29-fpq5-89jj) confirms the attack mechanism and vendor-released patches are available.

RemediationAI

Immediately upgrade to zebrad version 4.3.1 or later and zebra-script version 5.0.2 or later, available from the Rust package repository and GitHub releases at https://github.com/ZcashFoundation/zebra. The fix is implemented in commit 1f605eca5c55e3b65229fa01a97d9aa84fd37447, which adds consensus validation of sighash hash types in the Rust caller before invoking C++ verification code, and corrects V4 sighash computation to use raw hash type values per specification. Full technical details are available in the GitHub security advisory at https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-8m29-fpq5-89jj. If immediate patching is not feasible, SPECIFIC compensating controls include: (1) Temporarily disable acceptance of V4 and V5 transparent transactions via transaction policy rules if Zebra configuration supports this - this prevents exploitation but significantly reduces node functionality; (2) Deploy network-level monitoring to detect consensus divergence by comparing block acceptance between Zebra and zcashd nodes, enabling rapid detection of exploitation attempts; (3) For mining operations, switch to zcashd reference implementation until patching is complete, as most miners already run zcashd, reducing chain-split risk. Note these workarounds have severe trade-offs: disabling transaction types breaks core functionality, monitoring only detects attacks without preventing them, and switching implementations requires operational overhead. No workaround provides equivalent security to patching.

Affected VersionsENISA

zebra zebra-script < 5.0.2
zebra zebrad < 4.3.1

Affected Packages

cargo zebra-script fix: 5.0.2
cargo zebrad fix: 4.3.1
euvd zebra_zebra_script fix: 5.0.2
euvd zebra_zebrad fix: 4.3.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 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 a Rust-based implementation of the Zcash protocol that interfaces with Bitcoin Script verification code written in C++ via FFI for consensus-critical transparent transaction validation. During a refactoring to simplify this FFI boundary, parsing logic was moved from C++ to Rust using callbacks, but consensus validation of sighash hash types was inadvertently omitted from the Rust caller. The Zcash protocol restricts valid hash type values in transaction signatures (particularly for V5 transactions introduced in the NU5 network upgrade), and these restrictions are part of consensus rules shared with the reference zcashd implementation. Additionally, V4 transaction sighash computation incorrectly used canonical hash types instead of raw values as specified. This represents CWE-573 (Improper Following of Specification by Caller), where the calling code failed to maintain invariants expected by the called function. The vulnerability affects transparent transactions specifically, which use Bitcoin-inherited ECDSA signatures rather than Zcash's shielded transaction mechanisms.

Know when Zebrad 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 (github) PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:H/SA:H

Primary rating from Vendor (github) · only source for this CVE.

CVSS VectorVendor: github

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

Lifecycle Timeline

2
Patch available
May 08, 2026 - 16:18 EUVD
CVE Published
May 08, 2026 - 15:16 nvd
CRITICAL 9.3

DescriptionCVE.org

ZEBRA is a Zcash node written entirely in Rust. Prior to zebrad version 4.3.1 and prior to zebra-script version 5.0.2, after a refactoring, Zebra failed to validate a consensus rule that restricted the possible values of sighash hash types for V5 transactions which were enabled in the NU5 network upgrade. Zebra nodes could thus accept and eventually mine a block that would be considered invalid by zcashd nodes, creating a consensus split between Zebra and zcashd nodes. In a similar vein, for V4 transactions, Zebra mistakenly used the "canonical" hash type when computing the sighash while zcashd (correctly per the spec) uses the raw value, which could also crate a consensus split. This issue has been patched in zebrad version 4.3.1 and zebra-script version 5.0.2.

Executive ViewAI

Why It Matters

CVE-2026-41583 is a critical consensus validation flaw in Zebra nodes that allows unauthenticated remote attackers to trigger network partitioning by submitting malformed transactions, potentially enabling double-spend attacks against the Zcash network. Organizations operating Zebra infrastructure or dependent on Zcash transaction validation face immediate risk of network instability and financial loss if nodes fall out of consensus with the broader network.

Business Impact: Severe
Compensating Controls

Vendor-released patch: Zebra 4.3.1 or later. No interim mitigations are viable for consensus-level vulnerabilities; patching is mandatory. If immediate patching is impossible, isolate affected Zebra nodes from public network participation until patched.

Threat Intelligence Overview

EPSS Score
0.0%
Top 85% exploitable
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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