Skip to main content

Zcash Zebra CVE-2026-123559

| EUVDEUVD-2026-119444 HIGH
Inefficient Algorithmic Complexity (CWE-407)
2026-11-08 VulnCheck GHSA-wgc2-xcwr-9pcw
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Connect to synced node as peer
  2. Delivery
    Craft ≤2MB tx with ~39,000 transparent inputs
  3. Exploit
    Relay invalid tx forcing quadratic ZIP-244/243 sighash work
  4. Execution
    Uncancellable Rayon jobs saturate shared thread pool
  5. Impact
    Block verification stalls for minutes, mining templates go stale

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Algorithmic complexity limits
Exploitation Conditions

Exploitable against a zebrad node running any release before 7.0.0 in its default configuration when the node is synced close to tip (mempool enabled) AND either accepts inbound peer connections / relays peer transactions (the default) or exposes sendrawtransaction to untrusted callers. No private key, authentication, or non-default setting is required - the invalid signatures need only be well-formed enough to pass standardness and DER-encoding checks before failing. LIMITING FACTORS: nodes still initial-syncing with the mempool disabled are not exposed; the attacker must hold ~1-3 ZEC across ~39,000 small outputs to satisfy ZIP-317 fee headroom (never actually spent, and reusable); impact is confined to Rayon-backed verification (no crash, RPC/peer handling continue slower). No configuration on older releases removes the exposure - upgrade is the only complete fix; limiting inbound peers or not exposing RPC only reduces, not eliminates, exposure.

Impact

This is a genuine availability threat whose signals are internally consistent but modest in blast radius. The input CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N/VC:N/VI:N/VA:H, score 8.7) and the vendor's own CVSS 3.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5) agree: remote, unauthenticated (PR:N), low-complexity, availability-only impact with no confidentiality or integrity effect - so the 'Information Disclosure' tag in the metadata is simply wrong for this CWE-407 algorithmic-complexity DoS. The vuln.today decision label is 'this_week' (not act_now/emergency), and there is no CISA KEV listing and no EPSS score in the input, so there is no evidence of active or widespread exploitation; a knowledgeable reporter (@asafmod) demonstrated a working Regtest proof of concept with scaling measurements and two independent rediscoveries, which raises credibility but is not the same as public weaponized exploit code. Net: a real, prioritize-this-week defect for anyone running a Zebra node near chain tip, bounded by the fact that impact is CPU exhaustion of block verification (no crash, no data exposure, connections preserved) and by Zebra's relatively narrow deployment footprint. The low-attacker-cost, no-ban, reusable-outputs characteristics push real-world risk above what the availability-only impact alone would suggest for exposed nodes.

Exploit ScenarioDerived

A peer connects to a synced Zebra node (default behavior) and relays a single ≤2 MB transaction carrying roughly 39,000 transparent pay-to-public-key inputs with well-formed but invalid signatures. The quadratic ZIP-244/ZIP-243 sighash recomputation runs on the shared Rayon thread pool and is not cancelled on rejection, stalling block verification for about 7 minutes on a 4-core node (≈1,700 CPU-seconds measured), and the same outputs can back unlimited distinct invalid transactions with no fee spent and no peer ban. The reporter built and ran a working Regtest proof of concept, though no publicly published exploit code is identified in the provided sources.

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 – Nov 08, 2026

Denial of service in Zcash Foundation's Zebra (zebrad) releases before 7.0.0 allows any connected peer to stall block verification for minutes by relaying a single invalid transaction constructed with tens of thousands of transparent inputs, forcing quadratic ZIP-244 (and, on the v4 path, ZIP-243) signature-hash recomputation on the shared Rayon verification pool. No authentication or private key is needed - the signatures only have to be well formed enough to pass standardness and DER-encoding checks before failing - and the attacker needs roughly 1-3 ZEC parked in ~39,000 small outputs to satisfy ZIP-317 fee headroom, which is never actually spent and can be reused indefinitely. The flaw is fixed in zebrad 7.0.0 (via zcash_primitives 0.31.0); the reporter demonstrated a working Regtest proof of concept with scaling measurements, but no publicly available exploit code was identified in the available sources, and no CISA KEV entry exists for this issue.

RemediationAI

Vendor-released patch: upgrade to zebrad 7.0.0 or later, which consumes zcash_primitives 0.31.0 and its PrecomputedSighashData structure - the ZIP-244 amounts/scripts digests (and the ZIP-243 prevouts/sequence/outputs digests for v4 transactions) are computed once per transaction and reused per input, making each signature hash constant-time in the input count after a single linear precompute, with signature-hash values unchanged (ZIP-243/ZIP-244 test vectors pass unmodified). Zebra 7.0.0 also scores peers that relay transactions with failing transparent scripts, per GHSA-jq45-ghw5-v37x, so the sender of such a transaction is now banned; cancellation of per-input jobs already queued at rejection time is not part of 7.0.0 and is tracked as issue #11888, though after the fix the residual cost of a rejected transaction is in line with verifying an honest transaction of the same size. On older releases the advisory states there is no configuration that removes the exposure: operators can only reduce it by lowering network.peerset_initial_target_size (network.max_connections_per_ip is already 1 by default) to cut the number of peers able to relay, and by not exposing the RPC port to untrusted callers - neither prevents an already-connected peer from relaying a single such transaction, so upgrading remains the only complete fix.

Affected VersionsENISA

zebra 0 <7.0.0

Affected Packages

euvd zebra fix: 7.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

The root cause is CWE-407 (inefficient algorithmic complexity), with the advisory also mapping it to CWE-400. Zebra computes v5 transparent signature hashes through zcash_primitives::transaction::sighash::signature_hash, invoked from sighash_inner in zebra-chain/src/primitives/zcash_primitives.rs. Inside the library, transparent_sig_digest rebuilds two ZIP-244 S.2 digests on every call - the amounts digest (S.2c, personalization ZTxTrAmountsHash) and the scripts digest (S.2d, personalization ZTxTrScriptsHash) - because, unlike the prevouts, sequence and outputs digests, they are never stored in TxDigests. Zebra's TransparentAuth::input_amounts and input_scriptpubkeys supply them by allocating and filling a fresh N-element vector per call, so each sighash is O(N), and N sighashes give O(N^2) total work - roughly 1,700 CPU-seconds measured for a single 2 MB transaction (about 7 minutes of stalled verification on 4 cores, 14 minutes on 2). The mempool verifier dispatches one script-verification job per input onto the global Rayon pool, and each job drives the zcash_script C++ interpreter, which calls back into Zebra's sighasher before the ECDSA check fails. Dropping the remaining futures after the first failed input does not remove jobs already handed to Rayon, which has no cancellation, so the work completes into a closed channel; the mempool's 73-second per-transaction timeout shares that limitation and also frees the sender's per-peer queue slot. A script failure arrives as a boxed zebra_script::Error with no matching downcast arm in TransactionError::from, so it is recorded as InternalDowncastError with a misbehavior score of 0 rather than the 100 points for TransactionError::Script - the sender is neither disconnected nor banned. The v4 (ZIP-243) path has the same shape: v4_signature_hash recomputes the prevouts, sequence and outputs hashes on every call. The CNA scored this 8.7 under CVSS 4.0 (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H); the independent assessment applies CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H (7.5), with impact confined to Rayon-backed verification - peer message handling and RPC continue, more slowly, and the node does not crash.

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

Unauthenticated peer relays one crafted transaction over the network with no user interaction (AV:N/AC:L/PR:N/UI:N); impact is CPU exhaustion of verification only, so C:N/I:N/A:H, scope unchanged.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/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
None
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
Nov 08, 2026 - 03:01 EUVD
CVE Published
Nov 08, 2026 - 01:38 cve.org
HIGH 8.7

DescriptionCVE.org

Zebra before 7.0.0 contains an inefficient algorithmic complexity vulnerability that allows unauthenticated peers to exhaust verification threads by submitting transactions with many transparent inputs. Attackers can relay invalid transactions with tens of thousands of inputs, forcing quadratic ZIP-244 or ZIP-243 digest recomputation that stalls Rayon-backed block verification for minutes.

Technical POC Analysis

CWE-407 (Inefficient Algorithmic Complexity), scored alongside CWE-400.

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

Zcash Foundation's Zebra (zebrad) releases before 7.0.0 are vulnerable to a denial-of-service condition that allows any network peer to stall block verification for minutes using a single crafted invalid transaction. This affects all organizations running unpatched Zebra nodes, potentially disrupting Zcash transaction processing and impairing dependent services. Leadership should prioritize patching because the vulnerability is trivially exploitable without authentication and requires minimal attacker resources.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 72% exploitable
Prevalence
Low
niche Zcash node implementation, cryptocurrency-specific, small 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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

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

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