Junglewise Threat Intelligence

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

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

Technologies: Rustls Webpki. Vendors: Rustls.

Executive brief

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.

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

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

Related threats