Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Zebra RPC endpoint (direct or via lightwalletd)
-
DeliverySend getblock verbosity 2 for side-chain block
-
Exploit-1 sentinel .expect() to u32 panics
-
ExecutionNode process aborts
-
PersistRepeat call to sustain crash loop
-
ImpactNode availability denied
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Reachable assertion handling
|
| Exploitation Conditions | The Zebra node's getblock JSON-RPC method must be reachable by the attacker - either a directly exposed RPC port or an upstream lightwalletd instance that forwards block queries. The specific trigger is a getblock request with verbosity 2 referencing a side-chain (orphan/non-best-chain) block, whose confirmations value is the -1 sentinel; this is what drives the .expect() panic. No authentication, privileges, or user interaction are required (PR:N/UI:N) and default configurations of affected Zebra versions (<11.0.0) are vulnerable. The primary limiting factor is the need for a side-chain block to exist and be addressable - a routine but not constant condition; impact is confined to availability (node crash/crash loop), with no data exposure or code execution. |
| Impact | This is a remote, unauthenticated denial-of-service in Zebra's getblock RPC (CWE-617, reachable assertion/panic). The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms network reach with low complexity and no privileges or user interaction, and impact is confined to availability (VC:N/VI:N/VA:L, score 6.9) - there is no confidentiality or integrity exposure. The genuine aggravating factor is that the panic aborts the process and the call can be repeated, producing a sustained crash loop rather than a single transient fault, so the real availability impact is arguably higher than the vendor's VA:L (I assess High). Countervailing signals keep this below top priority: no EPSS score was supplied, the CVE is NOT in CISA KEV, and no public exploit code is referenced, so there is no evidence of active or widespread exploitation. Note a conditional prerequisite the raw CVSS obscures - exploitation depends on a side-chain (orphan) block existing and getblock being invoked with verbosity 2 against it; this is a normal occurrence but means it is not a trivially-always-reachable crash. Net: a legitimate patch-worthy availability bug for Zebra operators (especially those exposing RPC or fronting it with lightwalletd), but not a mass-exploitation emergency given the niche footprint and absence of exploitation signals. |
| Exploit ScenarioDerived | A remote unauthenticated attacker with network access to a Zebra node's RPC interface (directly, or indirectly via a lightwalletd service that relays queries) issues a getblock call with verbosity 2 targeting a side-chain block, whose -1 confirmations sentinel is forced into a u32 via .expect() and panics the process. The attacker scripts this call to fire repeatedly, aborting the node each time it restarts and holding it in a crash loop. No public exploit code is identified at time of analysis, but the trigger is a single well-formed RPC request requiring no special tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 02, 2026
Remote, unauthenticated denial of service in the Zcash Foundation's Zebra node: any attacker who can reach the getblock JSON-RPC method - directly or through a lightwalletd instance that forwards block queries - can crash the node process, and by repeating the call hold it in a crash loop, by requesting verbosity 2 for a side-chain block. All Zebra versions before 11.0.0 are affected, and default configurations are vulnerable because the flaw is triggered by a routine, unprivileged RPC request requiring no credentials, privileges, or user interaction. Impact is limited to availability (node crash/crash loop) with no data exposure or code execution; no public exploit code has been identified at time of analysis and the issue is not listed in CISA KEV, though the low complexity and remote reachability make it operationally significant for operators exposing the RPC surface.
RemediationAI
Vendor-released patch: upgrade Zebra to 11.0.0 or later, which is the fixed version identified in the vendor security advisory (https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-x6v8-c2xp-928m); the vendor also publishes patch availability, and the corroborating breakdown is at https://www.vulncheck.com/advisories/zebra-before-11.0.0-denial-of-service-via-getblock-verbosity-2. Until upgrading is possible, the most effective compensating control is to remove reachability of the RPC surface from untrusted networks: bind the JSON-RPC listener to localhost/loopback or a management interface, firewall the RPC port so only trusted hosts can connect, and enable RPC authentication where the deployment supports it - the trade-off is that remote tooling, dashboards, and any indexers that query the node from another host will need relocation or a proxy, and lightwalletd deployments must be checked separately because a front end that forwards client block queries keeps the vulnerable method reachable even when direct RPC access is closed. A second option is to filter or reject getblock requests with verbosity 2 (and, where feasible, requests for non-best-chain blocks) at a reverse proxy or API gateway in front of the node; this stops the panic trigger but degrades or breaks clients that legitimately rely on verbose block output. Because the attack is a crash loop rather than a one-shot failure, pair any of the above with process supervision that restarts the node and alerting on repeated panics or unexpected restarts, recognizing that auto-restart only shortens downtime and does not prevent the crash itself. Disabling verbosity-2 support, restricting the RPC port, and requiring authentication all carry the same class of side effect - reduced functionality or availability for dependent tooling - so the upgrade to 11.0.0 remains the primary and least disruptive fix.
Affected VersionsENISA
Affected Packages
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 is the Rust implementation of a Zcash full node maintained by the Zcash Foundation; its JSON-RPC layer exposes blockchain query methods, including getblock, which accepts a verbosity parameter that controls the shape of the returned data. This issue is classified CWE-617 (Reachable Assertion): when getblock is called with verbosity 2 against a side-chain (orphan/non-best-chain) block, the node computes a confirmations value of -1 as a sentinel for blocks not on the main chain, and the code path converts that signed value into an unsigned u32 using .expect(), causing a Rust panic that terminates the process rather than returning an RPC error. The vulnerability is therefore not a memory-safety or injection defect but an unchecked assumption in the RPC serialization/formatting logic - an input class (side-chain blocks) that the developer did not account for. CPE data pins the affected component to the single package cpe:2.3:a:zcashfoundation:zebra:*:*:*:*:*:*:*:*, with EUVD recording the affected range as zebra 0 through <11.0.0, confirming the flaw spans the entire release history up to the 11.0.0 fix. Because the failing call is a normal, well-formed RPC request and no authentication or privilege is required, the reachable assertion is trivial to trigger from any client with network access to the RPC endpoint or with the ability to influence a lightwalletd front end.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Remote unauthenticated single-request panic with no UI (AV:N/AC:L/PR:N/UI:N); repeatable crash loop sustains full outage so A:H, with no confidentiality or integrity impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
The getblock RPC method in zebra-rpc before 11.0.0, used by the Zcash Foundation's Zebra node, panics on verbosity 2 for a side-chain block because the block's -1 confirmations sentinel is converted to u32 with .expect(), aborting the process. Remote unauthenticated attackers, directly or through lightwalletd, can repeat this call to keep the node in a crash loop.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Remote denial-of-service in Zebra (Zcash node implementation) versions prior to 4.4.0 allows unauthenticated attackers t
Motorola FX9500 devices allow remote attackers to conduct absolute path traversal attacks, as demonstrated by PL/SQL Ser
An issue was discovered on Zebra (formerly Motorola Solutions) Fixed RFID Reader FX9500 devices. Rated critical severity
Remote, unauthenticated denial of service in Zcash Foundation's Zebra full node: versions 6.4.0 through 6.4.1 abort when
Unauthenticated denial of service in Zebra (Zcash Foundation's full node implementation) before 6.0.0 allows remote peer
Remote unauthenticated attackers can cause a consensus divergence in Zcash Zebra nodes (zebrad 4.5.0 and zebra-script 7.
Zcash Foundation's Zebra full node (zebrad) before 6.2.1 can be stalled in block verification by any unauthenticated pee
Block-sync denial of service in Zebra (zebrad), the Rust implementation of a Zcash full node, affects all versions befor
Consensus divergence in Zebra Zcash nodes before 4.4.0 allows unauthenticated remote attackers to craft V5 transparent t
Zcash Zebra nodes running zebrad 4.4.0 or zebra-script 6.0.0 incorrectly accept V5 transparent transactions in which a S
Denial of service in the Zcash Foundation's Zebra full node before 6.1.0 lets remote unauthenticated peers stall node sy
Denial of service in the Zcash Foundation's Zebra full node implementation before 6.1.0 allows an unauthenticated remote
EUVD-2026-91439
GHSA-2qvh-q2cj-955r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB