# CVE-2026-104421: Zcash Zebra incomplete cleanup in block download verification

Source: https://junglewise.ai/threats/cve-2026-104421-zebra-before-6-2-1-contains-an-incomplete-cleanup-vulnerability  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-02. Updated: 2026-10-05  
License: CC BY 4.0 with a link back

CVE-2026-104421 · Severity: medium · CVSS 5.3 · Published 2026-10-02

Zebra is a full-node implementation of the Zcash blockchain consensus protocol. An unauthenticated attacker can send a crafted block with a header hash matching a valid block, causing nodes to skip downloading the legitimate block and fall behind the network tip. While nodes remain operational and the issue clears on restart, this denial of service can prevent nodes from staying synchronized with the blockchain.

Technologies: [Zcash Foundation Zebra](https://junglewise.ai/threats/technologies/zebra). Vendors: [Zcash Foundation](https://junglewise.ai/threats/vendors/zcash-foundation).

## Quick answers

**Is CVE-2026-104421 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-104421 being exploited in the wild.

**How severe is CVE-2026-104421?** Medium severity, with a CVSS score of 5.3, published 2 October 2026.

**Which products and versions are affected?** Zcash Foundation Zebra before 6.2.1.

**Is there a fix for CVE-2026-104421?** Yes: fixed in 6.2.1. Until then: If unable to upgrade immediately, restarting the node clears the in-memory condition, though the vulnerability can recur under continued attack from an unpatched version.</anigation>
<parameter name="timeline">[{"kind":"disclosed","at":"2026-07-22"},{"kind":"advisory","at":"2026-10-02"},{"kind":"patched","at":"2026-10-02"}] Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-104421 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-104421?** Check whether you run Zcash Foundation Zebra 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

- Fixed in 6.2.1

If unable to upgrade immediately, restarting the node clears the in-memory condition, though the vulnerability can recur under continued attack from an unpatched version.</anigation>
<parameter name="timeline">[{"kind":"disclosed","at":"2026-07-22"},{"kind":"advisory","at":"2026-10-02"},{"kind":"patched","at":"2026-10-02"}]

## Technical details

The vulnerability is an incomplete cleanup (CWE-459) in Zebra's SentHashes tracking mechanism. When a block fails contextual verification, its hash should be removed from SentHashes, but the Request::KnownBlock read path did not drain rejected hashes before checking if a block was already known. An attacker exploiting ZIP-244's allowance of different block bodies with the same header hash sends an invalid body first; after rejection, the stale hash entry remains in SentHashes and causes subsequent legitimate blocks with that header to be skipped. The condition persists until unrelated block commits clear the stale entry or the node restarts, keeping the node one block behind the tip.

## Affected products

- Zcash Foundation Zebra before 6.2.1

## References

- [https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-x93j-mj2f-q338](https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-x93j-mj2f-q338)
- [https://www.vulncheck.com/advisories/zebra-before-6.2.1-block-download-denial-of-service-via-knownblock-senthashes-lockout](https://www.vulncheck.com/advisories/zebra-before-6.2.1-block-download-denial-of-service-via-knownblock-senthashes-lockout)

## Related threats

- [Zebra incomplete cleanup in checkpoint sync stalls initial sync](https://junglewise.ai/threats/cve-2026-123560-zebra-before-7-0-0-contains-an-incomplete-cleanup-vulnerability)
- [Zebra denial of service via quadratic sighash computation](https://junglewise.ai/threats/cve-2026-123559-zebra-before-7-0-0-contains-an-inefficient-algorithmic)
- [Zcash Foundation Zebra zebrad reachable assertion denial of service](https://junglewise.ai/threats/cve-2026-123557-zcashfoundation-zebra-zebrad-before-7-0-0-contains-a-reachable)
- [Zcash Foundation Zebra protection mechanism failure in mempool lock-time scoring](https://junglewise.ai/threats/cve-2026-123556-zcashfoundation-zebra-from-4-5-0-before-7-0-0-contains-a)
- [Zebra misbehavior scoring bypass via invalid script verification](https://junglewise.ai/threats/cve-2026-123555-zebra-from-2-3-0-before-7-0-0-contains-a-denial-of-service)
