<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Zebra-Script — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/zebra-script/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Thu, 07 May 2026 20:56:21 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/zebra-script/feed.xml" rel="self" type="application/rss+xml"/><item><title>Zebra Consensus Divergence in Transparent Sighash Hash-Type Handling (CVE-2026-44497)</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-zebra-consensus-divergence/</link><pubDate>Thu, 07 May 2026 20:56:21 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-zebra-consensus-divergence/</guid><description>Zebra versions prior to 4.4.0 exhibit a consensus divergence vulnerability (CVE-2026-44497) due to insufficient error handling of invalid sighash types during sighash computation, potentially leading to network partitioning and double-spend attacks.</description><content:encoded><![CDATA[<p>Zebra, a Zcash node implementation, versions prior to 4.4.0 are vulnerable to a critical consensus divergence issue. This flaw, identified as CVE-2026-44497, stems from inadequate error handling when processing invalid sighash types during signature hash computation. Specifically, when an undefined hash type is encountered, Zebra&rsquo;s foreign function interface (FFI) does not properly propagate the error from the Rust-based sighash computation callback to the C++ verification code. Consequently, the C++ checker may use a stale digest from a previous valid signature validation, leading to the acceptance of invalid transactions. This discrepancy can create a consensus split between Zebra and zcashd nodes, potentially disrupting the Zcash network. The vulnerability was introduced as a side effect of a previous fix (GHSA-8m29-fpq5-89jj).</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious transaction.</li>
<li>Transaction contains a transparent output.</li>
<li>The output is spent by a script that includes <code>OP_CHECKSIGVERIFY</code> and <code>OP_CHECKSIG</code>.</li>
<li><code>OP_CHECKSIGVERIFY</code> is executed with a valid hash type, priming the C++ sighash buffer with a valid digest.</li>
<li><code>OP_CHECKSIG</code> is executed with an undefined hash type.</li>
<li>Zebra&rsquo;s Rust callback returns <code>None</code> due to the undefined hash type, but the C++ checker does not receive this signal.</li>
<li>The C++ checker verifies the invalid signature against the stale digest in the buffer.</li>
<li>Zebra incorrectly accepts the spend, while zcashd rejects it, leading to a consensus split.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability can lead to a consensus failure within the Zcash network. An attacker can exploit this to cause network partitioning, where different nodes have conflicting views of the blockchain&rsquo;s state. This can lead to service disruption for users relying on affected Zebra nodes. Furthermore, the vulnerability could potentially be exploited for double-spend attacks if a malicious miner relies on Zebra&rsquo;s faulty validation results. While the impact is mitigated by the prevalence of <code>zcashd</code> among miners, any miner or template pipeline relying on Zebra&rsquo;s validation is at risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade all Zebra nodes to version 4.4.0 or later immediately to address CVE-2026-44497.</li>
<li>Monitor Zebra node logs for unexpected consensus errors or forks following the upgrade.</li>
<li>Evaluate the feasibility of implementing custom monitoring to detect divergence between Zebra and zcashd validation results within your environment.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>consensus-failure</category><category>vulnerability</category><category>network-partition</category></item></channel></rss>