Saturday, April 18, 2026
HomeAltcoinZebra 4.3.1: Crucial Safety Fixes, Dockerized Mining and CI Hardening

Zebra 4.3.1: Crucial Safety Fixes, Dockerized Mining and CI Hardening

We’re releasing Zebra 4.3.1 right this moment. This launch accommodates fixes for various vulnerabilities, and all node operators are strongly inspired to improve instantly.

Along with the safety repair, this launch introduces a Dockerized mining setup, automated checkpoint administration, and various CI hardening enhancements.

Safety Advisories

CVE-2026-40880: Transaction Verification Cache Consensus Vulnerability

A logic error in Zebra’s transaction verification cache might have allowed a malicious miner to induce a consensus break up between Zebra nodes and the remainder of the Zcash community. The foundation trigger was a efficiency optimization that skipped re-verification of transactions beforehand accepted into the mempool, with out accounting for the truth that a transaction’s validity may be height-dependent.

We eliminated the optimization completely, because it was deemed too dangerous to patch in place. Verification is now all the time carried out in full towards the present block top, no matter prior mempool acceptance.

Because of @sangsoo-osec for a radical advisory submission that recognized the lock time concern, and to @shieldedonly for an independently submitted advisory — obtained whereas we have been already engaged on the primary — that recognized further dimensions of the identical vulnerability.

CVE-2026-40881: addr/addrv2 Deserialization Useful resource Exhaustion

When deserializing addr or addrv2 messages, Zebra would allocate reminiscence for as much as 233,000 entries earlier than checking the protocol-specified restrict of 1,000. An attacker might exploit this by sending a number of outsized messages throughout totally different connections, doubtlessly pushing a Zebra node into an out-of-memory state.

The repair adjustments the max_allocation() technique for the related sorts to return 1000, capping allocation earlier than deserialization begins moderately than after.

Because of @Zk-nd3r for locating and reporting the difficulty, and for suggesting the repair.

Consensus Divergence in Clear Sighash Hash-Sort Dealing with

After a refactoring of Zebra’s clear transaction verification, a consensus rule limiting legitimate sighash hash sorts for V5 transactions was inadvertently dropped. The rule had beforehand been enforced contained in the C++ verification code; when verification was restructured in order that solely the core examine remained in C++ and the remaining moved to Rust through callback, the hash-type validation was not carried over. Because of this, Zebra nodes might settle for transactions that zcashd nodes would appropriately reject, making a consensus break up.

A associated divergence was additionally recognized in pre-V5 (V4) transactions. zcashd serializes the uncooked hash_type byte instantly into the V4 sighash preimage and solely masks it with 0x1f for choice logic, preserving non-canonical bits (e.g. 0x41) within the digest. Zebra as a substitute canonicalized the byte earlier than computing the sighash, producing a unique digest. This meant {that a} V4 transaction signed with a non-canonical hash_type — legitimate and accepted by zcashd — could be rejected by Zebra on account of a sighash mismatch, making a second consensus break up in the wrong way.

The repair provides the lacking hash-type validation for V5 transactions within the Rust callback, and introduces a raw-byte sighash path for V4 transactions that preserves zcashd’s preimage semantics. Each fixes are included in zcash_script 0.4.4 and zcash_transparent 0.6.4.

Our thanks for the preliminary discovery of this vulnerability go to Alex “Scalar” Sol and in addition to @sangsoo-osec for a later independently submitted advisory confirming the identical vulnerability.

rk Id Level Panic in Transaction Verification

Orchard transactions embody an rk discipline — a randomized validating key and elliptic curve level. Whereas the Zcash specification permits rk to be the id worth, the orchard crate would panic when encountering it, crashing the node. An attacker might exploit this by submitting a crafted transaction with an id rk.

The repair, agreed upon with zcashd builders who share the identical publicity, disallows the id rk on the level of transaction parsing. This was thought of the most secure strategy, as fixing it contained in the orchard crate would have made the vulnerability public earlier than nodes could possibly be patched. The Zcash specification has been up to date accordingly.

Our thanks for the invention of this vulnerability go to Alex “Scalar” Sol.

Denial of Service through Interrupted JSON-RPC Requests from Authenticated Shoppers

Zebra’s JSON-RPC HTTP middleware handled a failure to learn the incoming HTTP request physique as an unrecoverable error, aborting the method moderately than returning an error response. A consumer that disconnected after sending solely a part of a request physique, for instance, by resetting the TCP connection mid-transfer, was ample to set off the crash. The vulnerability could possibly be exploited solely by authenticated RPC purchasers. Nodes operating the shipped defaults, with RPC sure to localhost and cookie authentication on, weren’t weak. The repair propagates failures to learn the HTTP request physique as peculiar error responses, so Zebra now rejects truncated or interrupted requests moderately than crashing.

Safety Enhancements

Provide Chain and License Auditing in CI

CI now runs advisory checks, license compliance scanning, and cargo-vet auditing on each pull request. This ensures that new dependencies are vetted earlier than they land within the codebase, decreasing publicity to produce chain vulnerabilities. (#10455)

Up to date Safety Coverage

SECURITY.md has been up to date to incorporate a public encryption key, giving safety researchers a transparent and safe channel for accountable disclosure. (#10460)

Safety Advisory Documentation

Previous safety advisories have been documented within the changelogs, enhancing the historic document and transparency round Zebra’s safety posture. (#10433)

New Options

Dockerized Mining Setup

A Dockerized mining setup has been added to Zebra, making it simpler for node operators and builders to run a mining surroundings alongside their node with out managing native dependencies manually. (#10301)

Automated Checkpoint and Finish-of-Help Peak Updates

Checkpoint updates and end-of-support top monitoring are actually automated in CI. This was beforehand a guide step, and automating it reduces the chance of human error and retains Zebra’s checkpoints present with much less overhead. (#10459)

Bug Fixes

Proptest Enter Information Size Vary

A problem with the arbitrary enter information size vary in property-based exams for chain logic has been fastened, enhancing the reliability and correctness of the check suite. (#10431)

Different Modifications

  • PR titles are actually required to comply with Typical Commits format, enforced in CI, maintaining our changelog and launch automation constant. (#10456)
  • The README has been up to date to reference the right v4.3.0 set up tag. (#10432)

Upgrading

We strongly suggest all Zebra node operators improve to 4.3.1 as quickly as attainable, notably as a result of consensus vulnerability described above. There aren’t any identified workarounds — upgrading is the one method to make sure your node stays on the right chain and is protected towards malicious forks. You will discover the discharge on GitHub.

Thank You to Our Contributors

This launch was made attainable by the work of @conradoplg, @gustavovalverde, @mpguerra, @oxarbitrage, @arya2 and @upbqdn. Thanks on your continued contributions to Zebra. We additionally prolong our because of ZODL and Shielded Labs for his or her coordination efforts all through this launch.


Zebra is the Zcash Basis’s unbiased, Rust-based implementation of the Zcash protocol. Be taught extra at github.com/ZcashFoundation/zebra.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments