NRDAX-T0414 - Invalid Sighash Type Validation Gap
consensus_abuse · active · first seen 2026-07-21
provenance: Reproduced in NullRabbit's attack-reproduction pipeline
mechanism
The node's transaction-verification layer fails to enforce the rule that a transparent-input signature's trailing hash-type byte must be one of the known canonical values (ALL/NONE/SINGLE and their ANYONECANPAY variants); this validation, previously enforced in an older verifier, was dropped during a parsing/verification refactor. An attacker submits a validly-signed transaction whose hash-type byte is an unrecognized value, which the defective node silently masks to a canonical type when computing the sighash digest instead of rejecting it outright. This causes the vulnerable node to accept and relay/mine a transaction that reference implementations reject, producing a deterministic block/mempool-validity consensus split between patched and unpatched nodes.
instances (1)
| chain | primitive | fidelity | origin | reproducer (bundle) | source |
|---|---|---|---|---|---|
| zcash | zebra_invalid_sighash_hashtype | lab | reverse-engineered-cve | zebra_invalid_sighash_hashtype | - |
related (consensus_abuse)
cite
https://nrdax.com/techniques/NRDAX-T0414
NRDAX Registry. Technique NRDAX-T0414.
@misc{nrdax_NRDAX_T0414,
title = {Invalid Sighash Type Validation Gap (NRDAX-T0414)},
howpublished = {NRDAX Registry},
url = {https://nrdax.com/techniques/NRDAX-T0414},
} {
"id": "nrdax-NRDAX-T0414",
"type": "dataset",
"title": "Invalid Sighash Type Validation Gap (NRDAX-T0414)",
"URL": "https://nrdax.com/techniques/NRDAX-T0414",
"publisher": "NRDAX Registry"
} [](https://nrdax.com/techniques/NRDAX-T0414-invalid-sighash-type-validation-gap)
use from the CLI
Retrieve or cite this technique from a script or the terminal with the NRDAX Python library & CLI.
nrdax get NRDAX-T0414 nrdax cite NRDAX-T0414 --format bibtex