CVE-2026-52829
Received Received - Intake

Denial of Service in ZEBRA Node via IPv4 Peer

Vulnerability report for CVE-2026-52829, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-18

Last updated on: 2026-08-18

Assigner: GitHub, Inc.

Description

ZEBRA is a Zcash node written entirely in Rust. Prior to 4.5.0, an unauthenticated IPv4 peer can deterministically terminate a synced Zebra node using the default Linux dual-stack listener configuration. The handshake path canonicalized an IPv4-mapped IPv6 PeerSocketAddr such as ::ffff:127.0.0.1 to plain IPv4 before storing it through MetaAddr::new_connected, but the mempool misbehavior path forwarded the raw transient address to MetaAddrChange::UpdateMisbehavior. In zebra-network/src/meta_addr.rs, apply_to_meta_addr then compared the canonical address-book entry with the raw update address and reached its unexpected address mismatch assertion. After the misbehavior batch flush, panic equals abort terminated zebrad; the peer only needed to complete a P2P handshake and advertise an invalid mempool transaction. This issue is fixed in version 4.5.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-18
Last Modified
2026-08-18
Generated
2026-08-19
AI Q&A
2026-08-19
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
zcashfoundation zebra to 4.5.0 (exc)
zcashfoundation zebra 4.5.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-617 The product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.
CWE-843 The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a denial-of-service vulnerability in Zebra, a Zcash node implementation. It occurs when an unauthenticated IPv4 peer connects to a dual-stack IPv6 listener on a Linux host. The system stores the peer's address inconsistently between the handshake and mempool paths, causing a mismatch that triggers a panic and crashes the node.

Detection Guidance

To detect this vulnerability, check if your Zebra node is running a version prior to 4.5.0. Use the command zebrad --version to verify the installed version. If the version is below 4.5.0, the node is vulnerable. Additionally, monitor logs for unexpected crashes or assertion panics during peer connections or mempool transactions.

Impact Analysis

An attacker can repeatedly crash your Zebra node by sending a single invalid mempool transaction after completing a P2P handshake. This causes persistent downtime, requiring manual restarts. No special privileges or funds are needed for the attack.

Mitigation Strategies

Upgrade Zebra to version 4.5.0 or later immediately. If upgrading is not possible, configure the node to use an IPv4-only listen address or set net.ipv6.bindv6only=1 on Linux to prevent IPv4-mapped IPv6 address handling issues.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-52829. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart