Skip to main content

Zcash Zebra CVE-2026-123554

| EUVDEUVD-2026-119439 HIGH
Inefficient Algorithmic Complexity (CWE-407)
2026-11-08 VulnCheck GHSA-5872-wrc4-qh77
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 node as peer
  2. Delivery
    Craft unsigned tx with many transparent inputs/outputs
  3. Exploit
    Submit to mempool, passing UTXO lookup
  4. Execution
    Trigger O(inputs×outputs) coinbase-maturity check
  5. Persist
    Pin verification worker threads (~20s/tx)
  6. Impact
    Stall block verification, sync and peer handling

Vulnerability Assessment

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

Exploitation requires the target to run zebrad 6.4.0, 6.4.1, 6.4.2 or 7.0.0-rc.0 with networking enabled, which is the default on every network - the advisory states no configuration setting changes exposure. Any connected peer, inbound or outbound and without authentication, funds, or valid signatures, can trigger it by sending a transaction with many transparent inputs and empty scriptSigs plus many transparent outputs, because the maturity check runs before the standardness check that would reject it, and the resulting policy rejection carries no misbehavior score so the peer is never banned and can repeat indefinitely. Limiting factors: only the narrow 6.4.x / 7.0.0-rc.0 version window is vulnerable (6.3.x and 7.0.0+ are not); impact is availability-only with automatic recovery once the attack stops; and per-transaction CPU cost, while severe (~20s), is self-limited to five queued transactions per connection.

Impact

This is a genuine but bounded availability-only denial-of-service issue, not a high-CVSS paper risk and not a widespread emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H, 8.7) and the vendor's own CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5) agree on the mechanism: a remote, unauthenticated peer (PR:N) can trivially (AC:L/AT:N) degrade availability (VA:H / A:H) with no confidentiality or integrity impact. The score gap is purely a scoring-model artifact (CVSS 4.0 weights a clean network availability loss higher), not conflicting intelligence. No EPSS score and no KEV status were supplied, and there is no public working exploit - the only known reproduction is the private one from reporter @janneh2000 - so this is not confirmed active exploitation. The vuln.today decision label is 'this_week', consistent with a patch-available, remotely triggerable DoS that is not under active exploitation. Mitigating the urgency: the exposure window is narrow (only zebrad 6.4.0/6.4.1/6.4.2 and 7.0.0-rc.0; 6.3.x and earlier are unaffected), the node recovers automatically when the attack stops, no funds or consensus rules are at risk, and nothing is written to disk. The affected tag 'Information Disclosure' is inconsistent with the VC:N/C:N impact and should be disregarded.

Exploit ScenarioDerived

A remote unauthenticated peer connects to a Zebra node (inbound or outbound connection, the default on every network) and submits an unsigned ~2 MB transaction carrying tens of thousands of transparent inputs and outputs with empty scriptSigs. The mempool coinbase-maturity check performs O(inputs × outputs) work before the transaction is rejected, pinning a verification worker for roughly 20 seconds per transaction and up to five queued at once, stalling block verification, sync, and peer handling. No public weaponized exploit is identified, but the reporter demonstrated a working reproduction (24,000 inputs / 111,000 outputs on a 4-core machine).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Nov 08, 2026

Quadratic CPU cost in the mempool coinbase-maturity check of Zcash's Zebra node (zebrad) allows any connected peer to pin transaction-verification threads and stall block verification, peer handling and sync. Only zebrad 6.4.0, 6.4.1, 6.4.2 and 7.0.0-rc.0 are affected - the regression was introduced by the Transaction newtype refactor in 6.4.0 and is gone again in 7.0.0; 6.3.x and earlier are not affected. An unauthenticated peer needs no funds and no valid signatures: it sends an unsigned transaction with many transparent inputs (empty scriptSigs) and many transparent outputs, which the maturity loop processes at O(inputs × outputs) cost before the standardness check rejects it, and because that rejection is a policy error with a misbehavior score of 0 the peer is never banned and can repeat indefinitely. Impact is availability only, with recovery once the attack stops; no public exploit code has been identified at time of analysis, and there is no KEV listing or EPSS signal in the supplied data.

RemediationAI

Upgrade to zebrad 7.0.0, which is the release that carries the fix commit 08743d669 (https://github.com/ZcashFoundation/zebra/commit/08743d669b33a19bce2a5d54001bd468c03a196e, release notes at https://github.com/ZcashFoundation/zebra/releases/tag/v7.0.0); the patch makes has_transparent_inputs() and has_transparent_outputs() read the transparent bundle's lengths instead of rebuilding the vectors, computes the coinbase spend restriction once per transaction in both the mempool and block-commit maturity paths, and replaces the per-signature SIGHASH_SINGLE output-vector rebuild in zebra-script with a direct bundle length read. The vendor states explicitly that there is no fix on the 6.4.x line, so operators running 6.4.0, 6.4.1, 6.4.2 or 7.0.0-rc.0 must move to 7.0.0 rather than wait for a backport, and notes that no workaround exists: limiting inbound connections reduces the number of peers that can send the malicious transaction but does not remove exposure, because any connected peer, inbound or outbound, can deliver it, and allowing it through still consumes CPU until the upgrade is applied. Full advisory: https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-7jp4-mq53-4cvq.

Affected VersionsENISA

zebra 6.4.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

Zebra re-wraps the zcash_primitives transaction into its own Transaction newtype; PR #10461 replaced the borrowed output slice accessor with an allocating one, so Transaction::outputs() now collects a fresh Vec<transparent::Output> and copies every output script on each call. Transaction::coinbase_spend_restriction() evaluates self.outputs().is_empty() as the left operand of a short-circuit || with the network's unshielded-coinbase-spend allowance, meaning the allocation happens unconditionally, and zebra-consensus's tx_transparent_coinbase_spends_maturity() invoked that function inside its per-spent-outpoint loop even though the result depends only on the transaction, network and height. The result is CWE-407 (inefficient algorithmic complexity, also tracked as CWE-400 uncontrolled resource consumption): the check costs inputs × outputs per transaction. In the mempool verifier the maturity check runs after UTXO lookups and before mempool_standard_input_scripts, so a transaction with empty scriptSigs reaches the loop and pays full cost before failing as NonStandardInputs, which maps to a misbehavior score of zero. The loop is synchronous inside the spawned verification task, so the 73-second verification timeout cannot interrupt it. The reporter's measurement is roughly 20 seconds per transaction on a 4-core machine from a 1.98 MB transaction carrying 24,000 inputs and 111,000 outputs, with up to five such transactions queued per connection; on a four- or five-core node this saturates the async runtime. The same per-spend call existed on the block-commit path in zebra-state's check::utxo::transparent_spend() (harder to reach, since it requires a mined block) and a related per-signature SIGHASH_SINGLE rebuild existed in zebra-script's CachedFfiTransaction; all three were corrected together. No consensus rule is affected and nothing is written to disk.

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

Any unauthenticated remote peer trivially sends the crafted transaction (AV:N/AC:L/PR:N/UI:N); impact is pure availability loss of the node, no scope change, no confidentiality or integrity effect.

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

DescriptionCVE.org

Zebra zebrad 6.4.0 before 7.0.0 performs quadratic work in the mempool coinbase-maturity check because Transaction::coinbase_spend_restriction() rebuilds the transaction's output list once per spent outpoint. Any connected peer can repeatedly send unsigned transactions with many transparent inputs and outputs, which are rejected without a misbehavior score, to pin verification threads.

Technical POC Analysis

CWE-407 (Inefficient Algorithmic Complexity), secondary CWE-400 (Uncontrolled Resource Consumption).

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 node operators using Zebra versions 6.4.0 through 6.4.2 are exposed to a high-severity denial-of-service vulnerability that allows any peer to stall transaction verification and block sync, disrupting network availability. Leadership should prioritize patching because affected nodes can be repeatedly disrupted without authentication or funds, degrading service reliability and potentially impacting dependent operations.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 62% exploitable
Prevalence
Low
alternative Zcash node implementation; niche cryptocurrency, limited production footprint
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.4%
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
Yes
Human Impact
Medium
Technical Impact
Partial

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