ZEBRA is a Zcash node written entirely in Rust. Prior to version 4.4.0, Zebra's block validator undercounts transparent signature operations against the 20000-sigop block limit (MAX_BLOCK_SIGOPS), allowing it to accept blocks that zcashd rejects with bad-blk-sigops. A miner who produces such a block can split the network: Zebra nodes follow the offending chain while zcashd nodes do not. This issue has been patched in version 4.4.0.
The block validator in Zebra prior to version 4.4.0 incorrectly counted transparent signature operations (transparent signature operations) against the MAX_BLOCK_SIGOPS limit of 20,000 sigops per block. Undercounting causes Zebra to accept blocks that zcashd rejects as violating the limit (bad-blk-sigops error). A miner that deliberately produces such a block exceeding the actual limit can lead to a situation where Zebra nodes follow a different chain than zcashd nodes.
An attacker (miner) can trigger a permanent network split in Zcash: Zebra nodes and zcashd nodes will start tracking different block chains, which threatens the integrity and consistency of the entire blockchain network. Transaction disruptions, double spending, and network consensus disorganization are possible.
Zebra must be updated to version 4.4.0 or later, in which the problem has been fixed. Patch available in the ZcashFoundation GitHub repository: https://github.com/ZcashFoundation/zebra/releases/tag/v4.4.0
Zebrad (Zcash node of the ZcashFoundation project) in all versions prior to 4.4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XZfnd Zebrad
APPZfnd< 4.4.0
Related vulnerabilities
Crash węzła Zebra (Zcash) przez pole rk z wartością tożsamości w transakcjach Orchard
Błąd walidacji sighash w Zebra — możliwy consensus split z zcashd
Nieprawidłowa weryfikacja sygnatury w węźle ZEBRA (Zcash) — ryzyko rozszczepienia konsensusu
ZEBRA is a Zcash node written entirely in Rust. Prior to zebrad version 4.3.1 and zebra-consensus version 5.0....
ZEBRA jest węzłem Zcash napisanym całkowicie w Rust. W wersjach zebrad od 2.2.0 do przed 4.3.1 oraz zebra-rpc ...