☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 🐛 CWE-704
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-104420

CVE-2026-104420 Vulnerability in Zebra
📅 PUBLISHED: 2026-10-02 00:00 UTC 🔄 UPDATED: 2026-10-03 23:54 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.30%
👁️
0.30% probability
7.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1499
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 5.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: N Confidentiality None
I: N Integrity None
A: L Availability Low
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-104420 is a protection mechanism failure in Zebra (a Zcash-family node implementation) before version 6.3.0. Unauthenticated network peers can evade misbehavior scoring by supplying invalid gossiped blocks because the inbound cleanup step incorrectly downcasts RouterError to VerifyBlockError and discards the accumulated score. This permits attackers to repeatedly force block download and Equihash verification work without being banned, producing a resource-exhaustion denial-of-service (availability impact only, CVSS 5.3). Any node operator running Zebra < 6.3.0 that accepts inbound peer connections is affected.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

Zebra implements a peer misbehavior scoring system: peers that send invalid data accrue negative scores and are disqualified or banned once a threshold is crossed. Under normal operation, when a gossiped block fails validation, the node is expected to record a VerifyBlockError against the sending peer so that repeated abuse eventually leads to disconnection/banning.

The flaw is a type-confusion / improper-cast defect (CWE-704) located in the inbound cleanup path. When a block verification step fails, the error surfaced is not a VerifyBlockError but the broader RouterError. The cleanup code performs a downcast assuming VerifyBlockError, which fails for RouterError. Because the downcast does not succeed, the code discards the misbehavior score instead of applying it. The result: an attacker can send invalid gossiped blocks repeatedly, and each failed verification is not charged against the peer's score.

The attack surface is the peer-to-peer gossip interface — no authentication is required (AV:N/PR:N). Each rejected block still forces the victim node to perform the expensive work of downloading the block and running Equihash proof-of-work verification before rejection. Because the peer is never banned, the attacker can loop this indefinitely. The vulnerability is bounded in severity (integrity/confidentiality unaffected, S:U, A:L) because it does not corrupt state or leak data — it degrades availability through wasted CPU/bandwidth. The specific exploitation primitive is "score-evasion via error-type confusion in inbound block cleanup."

Exploitation Scenarios

No public PoC is available; the chain below is inferred strictly at the vulnerability-class level from the NVD description.

  1. Reconnaissance / target identification: The attacker enumerates reachable Zebra P2P listeners (typically the node's peer port) using network scanning. Target confirmation can be inferred from Zcash/Zebra P2P protocol handshake behavior.
  2. Triggering the flaw: The attacker connects as an unauthenticated peer and begins gossiping blocks that are structurally acceptable but fail verification (e.g., malformed or otherwise invalid blocks per the description).
  3. Evasion mechanism (vuln class): Because the failed verification surfaces a RouterError that the inbound cleanup step mis-downcasts to VerifyBlockError, the corresponding misbehavior score is discarded. The attacker's peer identity is therefore never penalized or banned.
  4. Payload/execution method (vuln class): The "payload" is the stream of invalid gossiped blocks themselves — no code execution is involved. The attacker simply repeats the gossip of invalid blocks.
  5. Post-exploitation impact: Repeatedly forcing block download plus Equihash verification consumes victim CPU and bandwidth. Sustained abuse denies service to legitimate peer traffic (availability degradation), with no confidentiality or integrity impact.

Impact Assessment

  • Confidentiality: None (C:N).
  • Integrity: None (I:N).
  • Availability: Low (A:L) — measurable resource degradation/denial-of-service against node verification capacity.
  • Scope: Unchanged (S:U); impact confined to the targeted node.
  • Attack vector: Network (AV:N), no privileges or user interaction (PR:N/UI:N), low complexity (AC:L). CVSS 5.3 (Medium).
  • Blast radius: Any Zebra < 6.3.0 node accepting inbound peers. Downstream: degraded P2P propagation, delayed block relay, increased sync times, potential node instability under sustained load. Mining pools, exchanges, and infrastructure relying on Zebra nodes may see reduced availability.

Detection Guidance

Sigma Rule

title: Zebra Misbehavior Score Evasion via Invalid Gossiped Blocks (CVE-2026-104420)
id: 8f2c1a44-7b6e-4c2e-9a1d-3b2f5e6c9d10
status: experimental
description: Detects repeated invalid gossiped block verification failures from a single unauthenticated peer without corresponding misbehavior score increases in Zebra < 6.3.0.
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-104420
author: valtersit.com
date: 2026/01/01
logsource:
  product: zebra
  service: node
detection:
  selection:
    message|contains:
      - 'VerifyBlockError'
      - 'RouterError'
      - 'inbound cleanup'
  condition: selection
falsepositives:
  - Legitimate transient verification errors
level: medium

YARA Rule

rule CVE_2026_104420_Zebra_Score_Evasion
{
    meta:
        author = "valtersit.com"
        description = "Detects Zebra versions prior to 6.3.0 susceptible to RouterError downcast misbehavior-score evasion"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-104420"
        date = "2026-01-01"
    strings:
        $a = "VerifyBlockError"
        $b = "RouterError"
        $c = "misbehavior"
    condition:
        uint16(0) == 0x7f45 and $a and $b and $c
}

Suricata IDS Rule

alert tcp $EXTERNAL_NET any -> $HOME_NET 18233 (msg:"CVE-2026-104420 Zebra Invalid Gossiped Block Score Evasion Attempt"; flow:established,to_server; dsize:>200; threshold:type both, track by_src, count 50, seconds 60; classtype:attempted-dos; sid:2026104420; rev:1;)

Elastic Detection

sequence by source.ip with maxspan=60s
  [network where destination.port == 18233 and network.transport == "tcp"] with runs=50

Splunk SPL Query

index=network (dest_port=18233 OR app=zebra)
| stats count by src_ip, dest_ip, action
| where action="block" OR match(_raw, "VerifyBlockError|RouterError")
| where count > 50

Wazuh OSSEC Rule

<group name="zebra,cve-2026-104420,">
  <rule id="104420" level="8">
    <decoded_as>json</decoded_as>
    <field name="message">VerifyBlockError|RouterError</field>
    <description>CVE-2026-104420: Possible Zebra misbehavior score evasion via invalid gossiped blocks</description>
    <mitre>
      <id>T1499</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).

  1. Immediate mitigations:
    • Restrict inbound peer connections to trusted, allowlisted peers via firewall rules where operationally feasible.
    • Apply rate-limiting on inbound block gossip from any single peer.
    • Monitor verification-failure rates per peer and manually ban sources showing sustained invalid-block floods.
  2. Patch / upgrade steps:
    • Upgrade Zebra to version 6.3.0 or later, which fixes the incorrect downcast in the inbound cleanup path so misbehavior scores are correctly applied to RouterError cases. No vendor fix is currently confirmed by tracked sources — validate against the official Zebra release before deploying.
  3. Long-term hardening:
    • Track Zebra security advisories and peer-scoring changes on every release.
    • Deploy per-peer resource quotas and connection caps on P2P listeners.
    • Alert on anomalies in verification-failure vs. ban ratios to catch score-evasion regressions early.

References

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Zebra"
title:"Zebra"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-104420/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.