Vulnerability in zebra-script (CVE-2026-52735)
Summary
Vulnerability in zebra-script (CVE-2026-52735). 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.
Am I affected
You are affected if:
- You run any version of
zebradup to and includingv4.4.1. - Your node validates blocks on mainnet, testnet, or any network where both Zebra and zcashd nodes participate.
All default configurations are affected. No feature flags, non-default settings, or special build options are required.
Summary
Zebra's P2SH sigop counter uses a pure-Rust code path that short-circuits on disabled opcodes (such as OP_CODESEPARATOR), returning a partial count of zero for any sigops following the disabled opcode. The reference implementation (zcashd) correctly counts through disabled opcodes in its static sigop analysis. This produces a consensus divergence: Zebra accepts blocks that zcashd rejects when the block-wide MAX_BLOCK_SIGOPS = 20,000 threshold is crossed on one side but not the other.
An attacker can exploit this without mining capability. Broadcasting transactions that spend P2SH outputs with malicious redeem scripts is sufficient; any Zebra miner who includes those transactions in a block triggers a chain split between Zebra and zcashd validators.
Details
The P2SH sigop counter at zebra-script/src/lib.rs:399 calls script::Code(redeemed_bytes).sig_op_count(true), which is a pure-Rust path through zcash_script-0.4.4. The legacy (non-P2SH) sigop counter at lib.rs:282-289 correctly uses the C++ FFI via interpreter.legacy_sigop_count_script(). Only the P2SH path bypasses the FFI.
The Rust parser in `zcash_scrip…
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-52735 has been found in zebra-script.
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-script to 7.0.0 or later.
If unsure, ask your IT team or search "zebra-script CVE-2026-52735" on the vendor's site.
CVE-2026-52735 (zebra-script) — CWE-684
Attack surface: zebrad / OP_CODESEPARATOR / OP_CAT / OP_SUBSTR
Patched: 7.0.0 — apply immediately
Workaround: There is no 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.
A vulnerability (CWE-684) exists in zebra-script. Attackers reach the vulnerable code path via zebrad.
Check the vendor advisory for the affected versions of zebra-script. Attack surface: zebrad / OP_CODESEPARATOR / OP_CAT / OP_SUBSTR.
Severity: ?. Risk of unauthorized operations or information disclosure.
Update to 7.0.0.
Workaround: There is no configuration-level workaround.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'zebra-script' . 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
-
1Identify exposure identify
grep -r 'zebra-script' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
zebra-scriptを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply temporary workaround mitigate
There is no configuration-level workaround.パッチが適用されるまでの応急処置として、There is no configuration-level workaround. を実施。回避策の副作用 (機能低下) を確認した上で。
-
3Apply patch patch
Upgrade zebra-script to 7.0.0ステージング環境で 7.0.0 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
4Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web security-advisories@github.com
- web security-advisories@github.com