rustls-webpki before 0.103.13 Panic via empty BIT STRING
CVE-2026-93599 is fixed in 9 products on 1 platform, first by RHSA-2026:85848, released September 18, 2026. It is not reported as exploited. Patch Radar priority: High.
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.
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Linux | |||
| aws-nitro-enclaves-cli · opensuse-leap 16.0 | 1.5.2~git0.1c496ed-160000.1.1 | OPENSUSE-SU-2026:22175-1 | Nov 7, 2026 |
| aws-nitro-enclaves-cli · sles 15.6 | 1.5.2~git0.1c496ed-150600.10.18.1 | SUSE-SU-2026:5066-1 | Nov 7, 2026 |
| aws-nitro-enclaves-cli · sles 15.7 | 1.5.2~git0.1c496ed-150600.10.18.1 | SUSE-SU-2026:5066-1 | Nov 7, 2026 |
| aws-nitro-enclaves-cli · sles 16.0 | 1.5.2~git0.1c496ed-160000.1.1 | SUSE-SU-2026:24467-1 | Nov 7, 2026 |
| goose · RHEL 10 | 1.45.0-1.el10_2 | RHSA-2026:80765 | Oct 13, 2026 |
| goose · RHEL 9 | 0:1.45.0-1.el9_8 | RHSA-2026:80764 | Oct 12, 2026 |
| rust-rustls-webpki · Debian 14 | 0.103.13+ds-1 | DEBIAN-CVE-2026-93599 | Sep 19, 2026 |
| rust-sequoia-sq · RHEL 10 | 1.4.0.1-4.el10_2 | RHSA-2026:85848 | Sep 18, 2026 |
| rust-sequoia-sq · rocky 10 | 0:1.4.0.1-4.el10_2 | RLSA-2026:85848 | Nov 7, 2026 |
| rustup · opensuse-leap 16.0 | 1.29.1~0-160000.1.1 | OPENSUSE-SU-2026:22016-1 | Oct 2, 2026 |
| rustup · sles 16.0 | 1.29.1~0-160000.1.1 | SUSE-SU-2026:24014-1 | Oct 2, 2026 |
| sccache · opensuse-leap 16.0 | 0.18.0~2-160000.1.1 | OPENSUSE-SU-2026:21982-1 | Sep 30, 2026 |
| sccache · sles 16.0 | 0.18.0~2-160000.1.1 | SUSE-SU-2026:23983-1 | Sep 30, 2026 |
| sequoia-sq · almalinux 10 | 1.4.0.1-4.el10_2 | ALSA-2026:85848 | Nov 7, 2026 |
| sequoia-sq · ol 10 | 0:1.4.0.1-4.0.1.el10_2 | ELSA-2026-85848 | Nov 7, 2026 |
| sequoia-sq · opensuse-leap 16.0 | 1.5.0-bp160.1.1 | OPENSUSE-RU-2026:22132-1 | Nov 7, 2026 |
| shadowsocks-libev · opensuse-leap 16.0 | 3.3.6-bp160.3.1 | OPENSUSE-SU-2026:22189-1 | Nov 7, 2026 |
| shadowsocks-rust · opensuse-leap 16.0 | 1.25.0-bp160.1.1 | OPENSUSE-SU-2026:22189-1 | Nov 7, 2026 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.