# CVE-2026-93599: rustls-webpki integer underflow in BIT STRING parsing

Source: https://junglewise.ai/threats/cve-2026-93599-rustls-webpki-integer-underflow-in-bit-string-parsing  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-18. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-93599 · Severity: high · CVSS 7.5 · Published 2026-09-18

rustls-webpki is a Rust library used to validate X.509 certificates and certificate revocation lists (CRLs) in TLS applications. A flaw in its BIT STRING parsing causes the application to crash (denial of service) when processing a specially crafted CRL, but only if the application has explicitly enabled CRL revocation checking. The default configuration is unaffected.

Technologies: [rustls-webpki (crates.io)](https://junglewise.ai/threats/technologies/rustls-webpki), [Rustls Webpki](https://junglewise.ai/threats/technologies/webpki). Vendors: [crates.io](https://junglewise.ai/threats/vendors/crates-io), [Rustls](https://junglewise.ai/threats/vendors/rustls).

## Quick answers

**Is CVE-2026-93599 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-93599 being exploited in the wild.

**How severe is CVE-2026-93599?** High severity, with a CVSS score of 7.5, published 18 September 2026.

**Which products and versions are affected?** rustls-webpki (crates.io) SEMVER:introduced=0,fixed=0.103.13, SEMVER:introduced=0.0.0-0,fixed=0.103.13,introduced=0.104.0-alpha.1,fixed=0.104.0-alpha.7; Rustls Webpki through 0.103.12 and 0.104.0-alpha releases before 0.104.0-alpha.7.

**Is there a fix for CVE-2026-93599?** Yes. rustls-webpki (crates.io): upgrade to 0.103.13, 0.104.0-alpha.7 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-93599 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-93599?** Check whether you run rustls-webpki (crates.io) or Rustls Webpki at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- rustls-webpki (crates.io): upgrade to 0.103.13, 0.104.0-alpha.7 or later

  ```sh
  cargo update -p rustls-webpki
  ```


## Technical details

The vulnerability is an integer underflow in the bit_string_flags() function in src/der.rs when parsing named-bit BIT STRINGs. The input validation guard fails to reject a BIT STRING with content [0x00] (zero padding bits, no data bytes), causing raw_bits.len() - 1 to underflow to usize::MAX, followed by an out-of-bounds index access that panics. The flaw is reachable via the public API BorrowedCertRevocationList::from_der() when a CRL contains an issuingDistributionPoint extension with an onlySomeReasons value matching this pattern. Exploitation requires an application that explicitly passes RevocationOptions to verify_for_usage() and parses CRL bytes from an attacker-controlled source (e.g., via a custom Certificate Distribution Point URL or local network attack). A single malformed 103-byte CRL causes denial of service. Fixed in versions 0.103.13 and 0.104.0-alpha.7.

## Affected products

- rustls webpki through 0.103.12 and 0.104.0-alpha releases before 0.104.0-alpha.7

## Identifiers

- CVE-2026-93599
- GHSA-82j2-j2ch-gfr8
- RUSTSEC-2026-0104

## Timeline

- 2026-04-21: disclosed
- 2026-04-21: patched: Fixed in 0.103.13 and 0.104.0-alpha.7
- 2026-09-18: advisory

## References

- [https://github.com/rustls/webpki/security/advisories/GHSA-82j2-j2ch-gfr8](https://github.com/rustls/webpki/security/advisories/GHSA-82j2-j2ch-gfr8)
- [https://www.vulncheck.com/advisories/rustls-webpki-before-0.103.13-panic-via-empty-bit-string](https://www.vulncheck.com/advisories/rustls-webpki-before-0.103.13-panic-via-empty-bit-string)

## Related threats

- [Go crypto/x509 untrusted intermediate certificate validation](https://junglewise.ai/threats/cve-2026-111943-on-most-platforms-go-uses-the-given-system-root-certificates)
- [rustls-webpki CRL distribution point matching bypass](https://junglewise.ai/threats/cve-2026-93602-rustls-webpki-crl-distribution-point-matching-bypass)
- [rustls-webpki name constraint bypass for wildcard certificates](https://junglewise.ai/threats/cve-2026-93601-rustls-webpki-name-constraint-bypass-for-wildcard-certificates)
- [rustls-webpki X.509 name constraint bypass for URI names](https://junglewise.ai/threats/cve-2026-93600-rustls-webpki-x-509-name-constraint-bypass-for-uri-names)
- [rustls-webpki: CPU denial of service in certificate path building](https://junglewise.ai/threats/rustls-webpki-cpu-denial-of-service-in-certificate-path-building-3f07ea21)
