highCVSS 7.5Vulnerability

CVE-2026-52829

### Am I affected You are affected if: 1. You run `zebrad` up to and including `v4.4.1`. 2. Your node listens on the default `[::]` address on a Linux host (the standard deployment configuration — `net.ipv6.bindv6only=0` is the default on all common Linux distributions). 3. Your node is synced near the chain tip (the expected production state for any node participating in the network). ### Summary An address normalization mismatch between the handshake path and the mempool misbehavior path causes a deterministic assertion panic when a peer connects via IPv4 to a dual-stack IPv6 listener and then triggers a mempool misbehavior penalty. The handshake path canonicalizes IPv4-mapped IPv6 addresses to plain IPv4 when storing the peer in the address book via `MetaAddr::new_connected`. The mempool misbehavior path forwards the raw transient socket address (IPv4-mapped IPv6 form) when sending `MetaAddrChange::UpdateMisbehavior` to the address book. The address book looks up the canonical IPv4 entry but then asserts that the previous entry's address matches the change's address. The mismatch between the canonical IPv4 address and the raw IPv4-mapped IPv6 address triggers the assertion, and `panic = "abort"` terminates the process. ### Details On Linux with `net.ipv6.bindv6only=0`, an IPv4 connection accepted by a `[::]` listener is represented internally as an IPv4-mapped IPv6 socket address (e.g., `::ffff:127.0.0.1:8233`). Zebra's `canonical_peer_addr` helper converts these to plain IPv4 (e.g., `127.0.0.1:8233`). The handshake path uses `MetaAddr::new_connected`, which canonicalizes the address before storing in the address book. However, inbound inventory registration uses `connected_addr.get_transient_addr()`, preserving the raw IPv4-mapped form. When the mempool later downloads an invalid transaction from this peer and generates a misbehavior penalty, the raw transient address is forwarded through the misbehavior channel to `MetaAddrChange::UpdateMisbehavior`, wh

Properties

ghsa_id
GHSA-63wg-wjjj-7cp8
summary
Zebra Address Book Aborted by IPv4-Mapped Mempool Misbehavior Update
severity
high
cvss_score
7.5
cve_id
CVE-2026-52829
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
is_ghsa_only
false
ghsa_published
2026-07-02T20:26:56Z
source_url
https://github.com/advisories/GHSA-63wg-wjjj-7cp8
ghsa_updated
2026-07-02T20:26:58Z

Related Entities (7)

REPORTED_BY (1)

[Source]GitHub Advisory Database

VULNERABLE_TO (2)

[Software]rust/zebra-network
[Software]rust/zebrad

AFFECTS (2)

[Software]rust/zebrad
[Software]rust/zebra-network

HAS_WEAKNESS (2)

[Weakness]Access of Resource Using Incompatible Type ('Type Confusion')
[Weakness]Reachable Assertion

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-52829 (CVSS 7.5) — Ninja Signal Threat Intelligence | Ninja Signal