CVE-2026-123560: Zebra incomplete cleanup in checkpoint sync stalls initial sync

CVE-2026-123560 · Severity: high · CVSS 7.5 · Published 2026-11-08

Zebra is a Zcash node implementation that synchronizes the blockchain from peers. An unauthenticated attacker can cause a syncing node to stall indefinitely by serving a single forged block body with invalid transaction data. The node treats the block as already downloaded and stops requesting blocks, making the blockchain appear stale until the node restarts.

Technologies: Zcash Foundation Zebra. Vendors: Zcash Foundation.

Quick answers

Is CVE-2026-123560 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-123560 being exploited in the wild.
How severe is CVE-2026-123560?
High severity, with a CVSS score of 7.5, published 8 November 2026.
Which products and versions are affected?
Zcash Foundation Zebra before 7.0.0.
Is there a fix for CVE-2026-123560?
Yes: fixed in zebrad 7.0.0. Until then: Restart the affected node when sync stalls during initial sync near the final checkpoint. The stale state exists only in memory and is cleared on restart. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-123560 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-123560?
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: zebrad 7.0.0

Restart the affected node when sync stalls during initial sync near the final checkpoint. The stale state exists only in memory and is cleared on restart.

Technical details

An incomplete cleanup vulnerability in Zebra's checkpoint synchronization allows an unauthenticated peer to deliver a forged checkpoint block body with valid hash but invalid authorizing data. The node records the block hash as sent before the authorizing-data verification completes; when verification fails in the finalized state, the hash is not removed from the sent-hash set. The syncer then treats all blocks above this height as already downloaded and ceases requesting them, stalling synchronization indefinitely until process restart.

Affected products

  • Zcash Foundation Zebra before 7.0.0

Timeline

  • 2026-10-22: disclosed: GHSA advisory published
  • 2026-11-08: advisory: NVD entry published
  • 2026: patched: Fixed in zebrad 7.0.0

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.