CVE-2026-104427 in Zebrainfo

Summary

by MITRE • 10/02/2026

Zebra before 6.1.0 contains an incomplete cleanup vulnerability in the state write task that allows remote unauthenticated peers to stall node synchronization by poisoning parent_error_map. Attackers can deliver a coinbase-malleated block sharing a canonical block's hash before it propagates, causing the next canonical block to be rejected and stalling the node for roughly 2,000 blocks.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Analysis

by VulDB Data Team • 10/02/2026

The vulnerability identified in Zebra versions prior to 6.1.0 represents a critical flaw within the blockchain synchronization logic, specifically located in the state write task responsible for processing incoming blocks. This issue is classified as an incomplete cleanup error that stems from improper handling of edge cases during block validation and chain reorganization processes. The core technical deficiency lies in how the node manages its internal data structures when encountering conflicting or malformed block proposals. Specifically, the vulnerability allows remote unauthenticated peers to manipulate the parent_error_map, a critical component used by Zebra to track errors associated with potential parent blocks of incoming transactions. By poisoning this map, an attacker can induce a state where the node incorrectly believes that valid canonical blocks are invalid due to erroneous error states propagated from maliciously crafted inputs.

The operational mechanism of this attack relies on block malleation and timing exploitation. An adversary constructs a coinbase-malleated block, which is a variant of a legitimate block header or transaction structure that shares the same cryptographic hash as a valid canonical block but contains altered data in non-critical fields such as the coinbase script. The attacker delivers this malformed block to the Zebra node just before the corresponding canonical block propagates through the network. Because both blocks share the identical hash, the node processes the malicious variant first and incorrectly records an error state for that hash within its internal tracking mechanisms. When the legitimate canonical block subsequently arrives, the node consults the poisoned parent_error_map and rejects it based on the previously recorded erroneous status. This rejection prevents the node from advancing its chain tip correctly, effectively stalling the synchronization process.

The impact of this vulnerability is severe in terms of availability and network integrity. By causing the next canonical block to be rejected, the attacker can stall the node for approximately 2,000 blocks. In proof-of-work or similar consensus environments, a delay of this magnitude significantly hinders the node's ability to stay current with the rest of the network. This stalling effect can lead to temporary desynchronization, where the affected node falls behind the active chain tip. Such delays not only degrade the performance and reliability of the individual node but also potentially impact the broader network if multiple nodes are targeted simultaneously or if the stalled node participates in consensus-related activities that require up-to-date state information. The inability to process blocks promptly undermines the fundamental promise of blockchain technology regarding timely transaction finality and ledger consistency.

From a classification perspective, this vulnerability aligns with CWE-20 Improper Input Validation, as the system fails to adequately sanitize or validate the handling of block data during synchronization. It also relates to CWE-834 Excessive Iteration if the stalling results in prolonged processing loops waiting for resolution that never comes due to the poisoned state. In terms of offensive security frameworks like MITRE ATT&CK, this behavior is consistent with techniques used in Denial of Service attacks against distributed systems, specifically those targeting resource exhaustion or logical flaws in consensus mechanisms. The attack vector leverages the trust placed in hash uniqueness and proper error handling within peer-to-peer networks to disrupt service availability without requiring authentication credentials.

Mitigation strategies primarily involve upgrading to Zebra version 6.1.0 or later, where this incomplete cleanup issue has been addressed through improved state management logic. Developers should ensure that the parent_error_map is properly cleared or reset when a conflicting block with an identical hash is identified as invalid due to malleation rather than genuine consensus failure. Additionally, implementing stricter validation checks for coinbase fields and ensuring that error states are not persistently stored for hashes associated with rejected but structurally valid blocks can prevent similar future exploits. Network operators should also monitor for unusual patterns of block propagation delays or repeated rejections of canonical blocks to detect potential exploitation attempts in real-time. Regular security audits focusing on state transition logic and synchronization protocols are essential to maintaining the robustness of blockchain nodes against such sophisticated denial-of-service vectors.

Responsible

VulnCheck

Reservation

10/02/2026

Disclosure

10/02/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!