Description
ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, an attacker authenticated to an enabled Zebra RPC endpoint can terminate zebrad by supplying a getblocktemplate LongPollId containing multi-byte UTF-8 characters. In zebra-rpc/src/methods/types/long_poll.rs, LongPollId::from_str originally checked the input byte length and then sliced fixed byte ranges to parse encoded fields. A slice boundary can land inside a multi-byte character and trigger Rust's byte index is not a char boundary panic. Zebra release builds use panic equals abort, so one malformed authenticated RPC request terminates the entire node process and can be repeated after restart. This issue is fixed in version 4.5.0.
Published: 2026-08-18
Score: 6.5 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

An authenticated RPC user can crash a ZEBRA node by sending a malformed LongPollId in a getblocktemplate request that contains multi‑byte UTF‑8 characters. The parser slices fixed byte ranges without verifying character boundaries, causing a panic due to an invalid byte index. In release builds this panic is treated as an abort, terminating the entire node process. The vulnerability is a classic example of a programming error in input handling (CWE‑248) and results in a denial of service, not data tampering. The crash can be repeated after a node restart, repeatedly disrupting service availability.

Affected Systems

The issue affects ZcashFoundation's ZEBRA and zebra‑rpc implementations when the RPC interface is enabled. All versions prior to 4.5.0 are vulnerable; the fix was introduced in release 4.5.0. An impacted deployment thus consists of any full ZEC node running Zebra with RPC enabled and using an older release.

Risk and Exploitability

The CVSS score of 6.5 indicates a moderate severity. An attacker requires valid RPC credentials, which can be acquired through legitimate access or credential compromise. Once authenticated, the attacker can send the crafted request over the network. The EPSS score is not available, but the lack of a known public exploit and absence from the KEV catalog suggest moderate but not immediate threat. Nonetheless, if RPC access is exposed, the downtime caused by successive node restarts can be significant.

Generated by OpenCVE AI on August 18, 2026 at 20:33 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Zebra to version 4.5.0 or later
  • Disable or restrict access to the zebra‑rpc endpoint to trusted hosts only
  • Configure firewall rules to limit RPC traffic to known clients

Generated by OpenCVE AI on August 18, 2026 at 20:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-qv2r-v3mx-f4pf zebrad has full node denial of service via non-ASCII LongPollId in getblocktemplate
History

Tue, 18 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 18 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Description ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, an attacker authenticated to an enabled Zebra RPC endpoint can terminate zebrad by supplying a getblocktemplate LongPollId containing multi-byte UTF-8 characters. In zebra-rpc/src/methods/types/long_poll.rs, LongPollId::from_str originally checked the input byte length and then sliced fixed byte ranges to parse encoded fields. A slice boundary can land inside a multi-byte character and trigger Rust's byte index is not a char boundary panic. Zebra release builds use panic equals abort, so one malformed authenticated RPC request terminates the entire node process and can be repeated after restart. This issue is fixed in version 4.5.0.
Title ZEBRA: Full node denial of service via non-ASCII LongPollId in getblocktemplate
Weaknesses CWE-248
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-18T19:42:08.415Z

Reserved: 2026-06-08T14:00:43.572Z

Link: CVE-2026-52731

cve-icon Vulnrichment

Updated: 2026-08-18T19:42:05.012Z

cve-icon NVD

Status : Received

Published: 2026-08-18T20:17:16.510

Modified: 2026-08-18T20:17:16.510

Link: CVE-2026-52731

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T20:45:04Z

Weaknesses