{"id":"CVE-2026-123560","kind":"vulnerability","aliases":["CVE-2026-123560"],"related":[],"title":"Zebra: forged checkpoint block stalls initial sync until node restart","description":"Zebra before 7.0.0 contains an incomplete cleanup vulnerability that allows unauthenticated peers to stall initial sync by serving a forged checkpoint block body. Attackers can supply a body with forged authorizing data near the final checkpoint, leaving rejected hashes in the sent-hash set so the node stops requesting blocks until restart.","summary":"Zebra, a Zcash node implementation, leaves rejected block hashes in its sent-hash set when it receives a forged checkpoint block body. The node then stops requesting blocks, so an unauthenticated peer can stall initial sync until the node is restarted.","severity":"high","cvss":8.7,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","zcash","zebra"],"not_affected_if":["already-synced-node","version-7-or-later"],"how_to_check":"- Check the installed Zebra version (`zebrad --version`) and compare it with the fixed version below.\n- Look for a stalled initial sync in the node logs: no block height progress for an extended period.","fix":"- Zebra: move to `7.0.0` or later.","status":"open","published_at":"2026-11-08T02:16:48+00:00","first_seen_at":"2026-11-08T02:21:11+00:00","triaged_at":"2026-11-08T02:23:06+00:00","updated_at":"2026-11-08T02:23:06+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-08T02:23:06Z","model":"claude-haiku-5-5","output":{"fix":"- Zebra: move to `7.0.0` or later.","reach":"network","title":"Zebra: forged checkpoint block stalls initial sync until node restart","impact":"low","summary":"Zebra, a Zcash node implementation, leaves rejected block hashes in its sent-hash set when it receives a forged checkpoint block body. The node then stops requesting blocks, so an unauthenticated peer can stall initial sync until the node is restarted.","audience":"businesses","category":"package","nicknames":[],"who_cares":["zebra","zcash","self-hosted"],"confidence":0.6,"fix_status":"available","needs_auth":"no","worst_case":"node stops syncing until restarted; availability denial","analyst_note":"","how_to_check":"- Check the installed Zebra version (`zebrad --version`) and compare it with the fixed version below.\n- Look for a stalled initial sync in the node logs: no block height progress for an extended period.","plain_action":"","needs_analyst":false,"not_affected_if":["version-7-or-later","already-synced-node"],"who_is_affected":"Teams running a Zebra node before 7.0.0 that performs initial sync from untrusted peers are exposed; a node that is already synced and only handles known peers is less likely to be hit during sync. The sources do not say how much a stalled sync harms services that depend on the node beyond delayed availability.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000683,"input_tokens":4289,"output_tokens":508,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-123560':13A,16A '-2026':12A,15A '7.0.0':67C 'allow':74C 'attack':88C 'author':95C 'block':4A,30B,44B,51B,86C,115C 'bodi':45B,87C,92C 'checkpoint':3A,43B,85C,100C 'cleanup':71C 'contain':68C 'cve':11A,14A 'data':96C 'final':99C 'forg':2A,42B,84C,94C 'hash':31B,36B,103C,108C 'host':20B 'implement':27B 'incomplet':70C 'initi':6A,58B,79C 'leav':28B,101C 'near':97C 'node':9A,26B,47B,62B,112C 'packag':17B 'peer':55B,76C 'receiv':40B 'reject':29B,102C 'request':50B,114C 'restart':10A,64B,117C 'self':19B 'self-host':18B 'sent':35B,107C 'sent-hash':34B,106C 'serv':82C 'set':37B,109C 'stall':5A,57B,78C 'stop':49B,113C 'suppli':90C 'sync':7A,59B,80C 'unauthent':54B,75C 'vulner':72C 'zcash':21B,25B 'zebra':1A,22B,23B,65C","nicknames":[],"mitigations":[],"who_affected":"Teams running a Zebra node before 7.0.0 that performs initial sync from untrusted peers are exposed; a node that is already synced and only handles known peers is less likely to be hit during sync. The sources do not say how much a stalled sync harms services that depend on the node beyond delayed availability.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["high","package","selfhosted","zcash","zebra"],"campaign_type":null,"search_a":"'-123560':13A,16A '-2026':12A,15A 'block':4A 'checkpoint':3A 'cve':11A,14A 'forg':2A 'initi':6A 'node':9A 'restart':10A 'stall':5A 'sync':7A 'zebra':1A","search_b":"'block':30B,44B,51B 'bodi':45B 'checkpoint':43B 'forg':42B 'hash':31B,36B 'host':20B 'implement':27B 'initi':58B 'leav':28B 'node':26B,47B,62B 'packag':17B 'peer':55B 'receiv':40B 'reject':29B 'request':50B 'restart':64B 'self':19B 'self-host':18B 'sent':35B 'sent-hash':34B 'set':37B 'stall':57B 'stop':49B 'sync':59B 'unauthent':54B 'zcash':21B,25B 'zebra':22B,23B","search_c":"'7.0.0':67C 'allow':74C 'attack':88C 'author':95C 'block':86C,115C 'bodi':87C,92C 'checkpoint':85C,100C 'cleanup':71C 'contain':68C 'data':96C 'final':99C 'forg':84C,94C 'hash':103C,108C 'incomplet':70C 'initi':79C 'leav':101C 'near':97C 'node':112C 'peer':76C 'reject':102C 'request':114C 'restart':117C 'sent':107C 'sent-hash':106C 'serv':82C 'set':109C 'stall':78C 'stop':113C 'suppli':90C 'sync':80C 'unauthent':75C 'vulner':72C 'zebra':65C","first_public_at":"2026-10-22T12:04:22+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/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:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-123560","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123560","severity":null,"published_at":"2026-11-08T02:16:48+00:00","modified_at":"2026-11-08T02:16:48+00:00","first_seen_at":"2026-11-08T02:21:11+00:00","fetched_at":"2026-11-08T02:21:11+00:00","note":null}],"documents":[{"id":99271,"url":"https://github.com/ZcashFoundation/zebra/security/advisories/GHSA-9hq5-pfgc-cx5h","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-22T12:04:22+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":99272,"url":"https://www.vulncheck.com/advisories/zebra-before-7.0.0-sync-denial-of-service-via-forged-checkpoint-block-body","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}