CVE-2026-44497: Zcash Foundation Zebra consensus divergence in sighash handling

CVE-2026-44497 · Severity: critical · CVSS 9.1 · Published 2026-05-07

Zebra, a Zcash node implementation, contains a vulnerability in how it validates certain transaction signatures. A malicious actor could exploit this to cause a 'consensus split,' where Zebra nodes disagree with other nodes on the network about which transactions are valid. This can lead to network partitioning, service disruptions, and potential double-spend attacks, undermining the reliability of the blockchain.

Technologies: zebra-script (crates.io), zebrad (crates.io). Vendors: crates.io.

Quick answers

Is CVE-2026-44497 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-44497 being exploited in the wild.
How severe is CVE-2026-44497?
Critical severity, with a CVSS score of 9.1, published 7 May 2026.
Which products and versions are affected?
zebra-script (crates.io) <= 5.0.1, SEMVER:introduced=0,fixed=6.0.0; zebrad (crates.io) < 4.4.0, SEMVER:introduced=0,fixed=4.4.0.
Is there a fix for CVE-2026-44497?
Yes. zebra-script (crates.io): upgrade to 6.0.0 or later; zebrad (crates.io): upgrade to 4.4.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-44497 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-44497?
Check whether you run zebra-script (crates.io) or zebrad (crates.io) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • zebra-script (crates.io): upgrade to 6.0.0 or later
    cargo update -p zebra-script
  • zebrad (crates.io): upgrade to 4.4.0 or later
    cargo update -p zebrad

Technical details

A vulnerability exists in Zebra's transparent transaction verification where insufficient error handling during sighash computation leads to a stale buffer being used. When a Rust callback returns 'None' for an undefined hash type, the FFI bridge fails to update the C++ sighash buffer, leaving the digest from a previous valid signature validation intact. An attacker can exploit this by crafting a script with a valid OP_CHECKSIGVERIFY followed by an OP_CHECKSIG using an invalid hash type; Zebra will incorrectly validate the second signature against the stale digest while other implementations (like zcashd) reject it. This results in a consensus split. The issue is fixed in zebrad 4.4.0 and zebra-script 6.0.0.

Affected products

  • ZcashFoundation zebra-script <= 5.0.1
  • ZcashFoundation zebrad < 4.4.0

Identifiers

  • CVE-2026-44497
  • GHSA-gq4h-3grw-2rhv

Timeline

  • 2026-05-02: disclosed
  • 2026-05-07: advisory
  • 2026-05-08: other: NVD published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.