Categories
CVE-2026-52736

Vulnerability in zebra-state (CVE-2026-52736)

Summary

Vulnerability in zebra-state (CVE-2026-52736). Risk of unauthorized operations or information disclosure. Exploitable via zebrad. Mitigation: upgrade to 7.0.0 or later.

Original description

The description as published by the source.

Description

Am I affected

You are affected if:

  1. You run any version of zebrad up to and including v4.4.1.
  2. Your node accepts inbound P2P connections (network.listen_addr is set, which is the default).
  3. Your node processes blocks past the checkpoint height (non-finalized state is active).

All default configurations are affected.

Summary

Zebra records a block hash in non_finalized_block_write_sent_hashes when the block is sent to the write task, before contextual validation completes. If validation fails, the hash is not removed. A remote unauthenticated peer can deliver a poisoned block body that shares a header hash with a later valid canonical block. The poisoned body is rejected, but the hash remains cached. When the valid canonical block arrives, Zebra treats it as a duplicate and rejects it. The node cannot advance past that height until restart or a reorg event.

Details

ZIP-244 defines txid_v5 without binding transparent input scriptSig, which lives in auth_digest and is committed to by hashBlockCommitments in the block header. Because merkle_root is computed over txids (not auth digests), and the block hash is computed over the header, an attacker can construct two blocks with identical header hashes but different transaction bodies by mutating the coinbase scriptSig.

The attack flow over P2P:

  1. Attacker observes a new block header (from any peer).
  2. Attacker constructs a poisoned body by flipping a byte of the coinbase…

Source: GitHub Security Advisories (Global) NVD GitHub Advisory

Auto-generated summary

Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.

A vulnerability tracked as CVE-2026-52736 has been found in zebra-state.
Attackers can target a specific entry point like zebrad over the network to misuse the product.
Risk of unauthorized operations or information disclosure.
What to do: upgrade zebra-state to 7.0.0 or later.
If unsure, ask your IT team or search "zebra-state CVE-2026-52736" on the vendor's site.

CVE-2026-52736 (zebra-state) — CWE-459
Attack surface: zebrad / network.listen_addr / non_finalized_block_write_sent_hashes / txid_v5
Patched: 7.0.0 — apply immediately
Workaround: There is no complete configuration-level workaround.
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.

❓ What is the problem

A vulnerability (CWE-459) exists in zebra-state. Attackers reach the vulnerable code path via zebrad.

📍 Affected scope

Check the vendor advisory for the affected versions of zebra-state. Attack surface: zebrad / network.listen_addr / non_finalized_block_write_sent_hashes / txid_v5.

🔥 Severity

Severity: ?. Risk of unauthorized operations or information disclosure.

🔧 How to fix

Update to 7.0.0.

🛡️ Workaround

Workaround: There is no complete configuration-level workaround.

🔍 Detection

Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'zebra-state' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.

Response actions

Concrete steps and command examples for SOC/SRE teams to execute in order

  1. 1
    Identify exposure identify
    grep -r 'zebra-state' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で zebra-state を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    Apply temporary workaround mitigate
    There is no complete configuration-level workaround.

    パッチが適用されるまでの応急処置として、There is no complete configuration-level workaround. を実施。回避策の副作用 (機能低下) を確認した上で。

  3. 3
    Apply patch patch
    Upgrade zebra-state to 7.0.0

    ステージング環境で 7.0.0 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。

  4. 4
    Post-deployment verification verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。

Affected packages

rust zebra-state
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"7.0.0"}]}]
rust zebrad
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.5.0"}]}]
crates.io zebra-state
[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"7.0.0"}]}]
crates.io zebrad
[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"4.5.0"}]}]

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details