CVE-2026-93599
rustls-webpki before 0.103.13 Panic via empty BIT STRING
Reported by vulncheck · Published September 18, 2026
rustls-webpki is fixed in 0.104.0-alpha.7, 0.104.0-alpha.1 and 0.103.13 (crates.io)
rustls-webpki through 0.103.12 (and 0.104.0-alpha releases before 0.104.0-alpha.7) contains a reachable panic in bit_string_flags() in src/der.rs. The input guard fails to reject a named-bit BIT STRING whose content is exactly [0x00] (zero padding bits and no data bytes), so raw_bits.len() - 1 underflows on the empty slice and the subsequent index operation panics (subtract-with-overflow in debug, index-out-of-bounds in release). The condition is reachable through the public API BorrowedCertRevocationList::from_der() when a CRL contains an issuingDistributionPoint extension with such an onlySomeReasons value. Exploitation requires an application that explicitly opts in to CRL revocation checking by passing RevocationOptions to verify_for_usage() and that parses CRL bytes obtained from a source the attacker can influence; the default rustls configuration, which does not use RevocationOptions, is unaffected. A crafted CRL causes a denial of service via the panic. Fixed in 0.103.13 and 0.104.0-alpha.7.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| rustls-webpki | crates.io | 0.104.0-alpha.7, 0.104.0-alpha.1, 0.103.13 |
| rust-sequoia-sq-debugsource | errata.rockylinux.org | 1.4.0.1-4.el10, 0:1.4.0.1-4.el10_2.x86_64, 0:1.4.0.1-4.el10_2.s390x, 0:1.4.0.1-4.el10_2.ppc64le, 0:1.4.0.1-4.el10_2.aarch64 |
| sequoia-sq | errata.rockylinux.org | 1.4.0.1-4.el10, 0:1.4.0.1-4.el10_2.x86_64, 0:1.4.0.1-4.el10_2.s390x, 0:1.4.0.1-4.el10_2.ppc64le, 0:1.4.0.1-4.el10_2.aarch64 |
| rust-sequoia-sq | errata.rockylinux.org | 1.4.0.1-4.el10, 0:1.4.0.1-4.el10_2.src |
| sequoia-sq-debuginfo | errata.rockylinux.org | 1.4.0.1-4.el10, 0:1.4.0.1-4.el10_2.x86_64, 0:1.4.0.1-4.el10_2.s390x, 0:1.4.0.1-4.el10_2.ppc64le, 0:1.4.0.1-4.el10_2.aarch64 |
| webpki | rustls | 0.104.0-alpha.7, 0.103.13 |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| rustls | webpki | 0, 0.104.0-alpha.1 |
| rustls | webpki | |
| rustls | webpki | 0, 0.104.0-alpha.1 |
Timeline
- Sep 18, 2026 CVE Published
- Sep 19, 2026 EPSS Score (17 in total, the first dated here)
- Sep 28, 2026 Security Advisory (2 in total, the first dated here)
- Oct 20, 2026 Distribution Patch (2 in total, the first dated here)
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2026-93599
vulnetix vdb fixes CVE-2026-93599
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2026-93599/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- GitHub Security Advisory (GHSA-82j2-j2ch-gfr8) vendor-advisory
- VulnCheck Advisory: rustls-webpki before 0.103.13 Panic via empty BIT STRING third-party-advisory