NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
🦀 crates.io
Not in CISA KEV

CVE-2026-41585 — zebra-rpc

CVE-2026-41585 is a CWE-248 vulnerability in zebra-rpc. A fix is available for zebra-rpc — see the affected versions and patch details below.

ZEBRA: Denial of Service via Interrupted JSON-RPC Requests from Authenticated Clients

Also known asGHSA-29x4-r6jv-ff4w
Published
Updated
Affected
2 pkgs
Patched
2 / 2
Exploits
None indexed
Exploitation data as of Nov 7, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

No confirmed exploitation observed yet

  • CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.

Exploitation and automatability from CISA’s SSVC triage for CVE-2026-41585.

EPSS Exploitation Probability

via FIRST.org ↗
0.3%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs17th percentile — riskier than 17% of all scored CVEsHighest risk
0.00%0.31%0.62%0.93%0.0%0.3%Jun 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

Real-World Exposure

2 pkgs affected
🦀zebra-rpc🦀zebrad

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects crates.io packages — download data is not available via public APIs for these ecosystems.

Description

A vulnerability in Zebra's JSON-RPC HTTP middleware allows an authenticated RPC client to cause a Zebra node to crash by disconnecting before the request body is fully received. The node treats the failure to read the HTTP request body as an unrecoverable error and aborts the process instead of returning an error response.

Severity

Moderate - This is a Denial of Service (DoS) that requires a client capable of passing Zebra's cookie authentication, which is enabled by default.

Affected Versions

  • zebrad: versions from 2.2.0 up to (but not including) 4.3.1
  • zebra-rpc: versions from 1.0.0-beta.45 up to (but not including) 6.0.2

Description

Zebra's JSON-RPC HTTP middleware treated a failure to read the incoming HTTP request body as an unrecoverable error, aborting the process rather than returning an error response. A client that disconnected after sending only part of a request body, for example, by resetting the TCP connection mid-transfer, was sufficient to trigger the crash. The vulnerability could be exploited only by authenticated RPC clients. Nodes running the shipped defaults, with RPC bound to localhost and cookie authentication on, were not vulnerable.

Impact

Denial of Service

  • Attack Vector: Network, authenticated (requires a valid RPC cookie when cookie authentication is enabled).
  • Effect: Immediate crash of the Zebra node.
  • Scope: Any node whose RPC interface is reachable by a client with valid credentials, or any node with cookie authentication disabled and an exposed RPC interface.

Fixed Versions

This issue is fixed in Zebra 4.3.1 (crate zebra-rpc 6.0.2).

The fix propagates failures to read the HTTP request body as ordinary error responses, so Zebra now rejects truncated or interrupted requests rather than crashing.

Mitigation

Users should upgrade to Zebra 4.3.1 or later.

If an immediate upgrade is not possible, users should ensure their RPC port is not exposed to untrusted networks and that cookie authentication remains enabled (the default).

References

Credits

Thanks to shieldedonly who discovered this issue and reported it via our coordinated disclosure process.

Affected Packages

2 total 2 fixed
EcosystemPackageVulnerable rangeFix
🦀crates.iozebra-rpc≥ 1.0.0-beta.45&&< 6.0.26.0.2cargo update -p zebra-rpc --precise 6.0.2
🦀crates.iozebrad≥ 2.2.0&&< 4.3.14.3.1cargo update -p zebrad --precise 4.3.1

Affected Products

2 products · 5 configurations
Application
zebra-rpczfnd
≥ 2.0.0 && < 6.0.2
1 version
1.0.0
Application
zebradzfnd
≥ 2.2.0 && < 4.3.1
range

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for zebra-rpc, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update zebra-rpc to 6.0.2 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-41585 is resolved across your whole dependency graph.

  3. Workarounds

    Cap what an attacker can consume: apply request size, rate and timeout limits in front of the affected component, and run it with memory and CPU limits so exhaustion degrades one worker rather than the whole service.

Frequently Asked Questions

A vulnerability in Zebra's JSON-RPC HTTP middleware allows an authenticated RPC client to cause a Zebra node to crash by disconnecting before the request body is fully received. The node treats the failure to read the HTTP request body as an unrecoverable error and aborts the process instead of returning an error response. ## Severity **Moderate** - This is a Denial of Service (DoS) that requires a client capable of passing Zebra's cookie authentication, which is enabled by default. ## Affected Versions - `zebrad`: versions from **2.2.0** up to (but not including) **4.3.1** - `zebra-rpc`: ve
O3 Security · Impact-Aware SCA

Is CVE-2026-41585 in your dependencies?

Find it across crates.io, including transitive dependencies.

CVE-2026-41585: zebra-rpc DoS — Fixed in 6.0.2