Skip to content
Heist/ feed
CriticalFix available

Zebra v4.4.0 still accepts V5 SIGHASH_SINGLE without a corresponding output

Type: advisorySource: OSV1 source record

# Consensus Divergence in V5 Transparent SIGHASH_SINGLE With No Corresponding Output ## Summary Zebra failed to enforce a ZIP-244 consensus rule for V5 transparent transactions: when an input is signed with `SIGHASH_SINGLE` and there is no transparent output at the same index as that input, validation must fail. Zebra instead asked the underlying sighash library to compute a digest, and that library produced a digest over an empty output set rather than failing. An attacker could craft a V5 transaction with more transparent inputs than outputs that Zebra accepts but `zcashd` rejects, creating a consensus split between Zebra and `zcashd` nodes. A previous fix ([`GHSA-cwfq-rfcr-8hmp`](https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-cwfq-rfcr-8hmp)) addressed a closely related case in the same area of the code, but did not cover this specific one. ## Severity **Critical** - This is a Consensus Vulnerability that could allow a malicious party to induce network partitioning, service disruption, and potential double-spend attacks against affected nodes. Note that the impact is currently alleviated by the fact that currently most miners run `zcashd`. ## Affected Versions Zebra 4.4.0. ## Description Verification of transparent transactions inherits the Bitcoin Script verification code in C++. Since it is consensus-critical, this code is called from Zebra through a foreign function interface (FFI), with a Rust callback that computes the sighash for each input being v

Announced Source revision 1
Original source ↗

GHSA-pvmv-cwg8-v6c8

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GHSA-pvmv-cwg8-v6c8

zebrad

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
4.4.1

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

zebra-script

Source reference: /affected/1/package/name

Affected versions
Not stated in this record
Fixed versions
6.0.1

Source reference: /affected/1/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "4.4.1"
          }
        ]
      }
    ],
    "package": {
      "name": "zebrad",
      "purl": "pkg:cargo/zebrad",
      "ecosystem": "crates.io"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-pvmv-cwg8-v6c8/GHSA-pvmv-cwg8-v6c8.json"
    }
  },
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "6.0.1"
          }
        ]
      }
    ],
    "package": {
      "name": "zebra-script",
      "purl": "pkg:cargo/zebra-script",
      "ecosystem": "crates.io"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-pvmv-cwg8-v6c8/GHSA-pvmv-cwg8-v6c8.json"
    }
  }
]
Related CVEs
CVE-2026-104435

Source reference: /aliases

Publisher severity

critical

Source reference: /database_specific/severity

Linked CVE context

These ratings describe the referenced vulnerabilities and products. They are not a severity rating for every application using this dependency.

Event
#72831 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement