Critical (9.3)

Zcash Zebra consensus split via sig (CVE-2026-44497)

CVE-2026-44497

CVE-2026-44497: Zcash Zebra daemon (zebrad <4.4.0) and lib (zebra-script <6.0.0) bug causes a network consensus split. Update to zebrad 4.4.0 or zebra-script 6.0.0.

Affected: Zfnd Zebra-Script Zfnd Zebrad

Patch now - CVE-2026-44497 is a critical consensus-divergence vulnerability in Zcash Zebra (zebrad <4.4.0, zebra-script <6.0.0) that causes a chain split between Zebra and zcashd nodes. This effectively partitions the Zcash network, as Zebra nodes may accept transactions or blocks that zcashd rejects due to improper signature validation.

Overview

CVE-2026-44497 arises from a fix introduced for CVE-2026-41583. While patching a previous issue, the developers introduced insufficient error handling when the signature hash type (sighash type) is invalid. During the sighash computation, if an invalid hash type is encountered, the function now fails to return an error. Instead, execution continues normally, leaving the input sighash buffer unchanged from a previous, valid operation.

In scenarios where a preceding signature validation had populated this buffer with a valid sighash, an attacker can construct a transaction with an invalid hash type that “inherits” a valid signature. This allows the transaction to pass Zebra’s verification while being rejected by zcashd due to the invalid hash type. The result is a consensus split: Zebra and zcashd nodes see different transaction validity on the same block chain.

Impact

A successful exploitation allows an attacker to submit transactions that are valid on the Zebra network but invalid on the zcashd network. This diverges the chain state between the two node implementations, undermining the consensus guarantees of the Zcash network. No prior authentication is required; the attack is launched over the network with low complexity.

Patch Guide

Zcash developers have patched the issue in zebrad version 4.4.0 and zebra-script version 6.0.0.

Action item: Upgrade all Zebra nodes to zebrad >= 4.4.0 or zebra-script >= 6.0.0 immediately. If you rely on zebra-script as a library, ensure your dependency pins to zebra-script 6.0.0 or later.

No workarounds exist short of the vendor fix; any node running prior versions risks participating in the wrong chain fork.

Security Insight

This vulnerability is a textbook example of the risks of incomplete patch rollout. The original fix for CVE-2026-41583 correctly addressed one attack vector but inadvertently created a new one by altering code paths without sufficiently testing edge cases. It underscores the principle that every security patch must be reviewed for regressions, especially in consensus-critical software where a single validation error can fragment an entire blockchain. For network operators still running older Rust-based Zcash implementations, the window for exploitation is immediate and consequential.

Further Reading

Share:

Never miss a critical vulnerability

Get real-time security alerts delivered to your preferred platform.

Related Advisories

Never Miss a Critical Alert

CVE advisories, breach reports, and threat intel — delivered daily to your inbox.