GitHub Advisoryadvisory · crates.io

GHSA-pwjx-qhcg-rvj4 webpki: CRLs not considered authoritative by Distribution Point due to faulty matching logic

MEDIUM Published 2026-03-20 Modified 2026-03-25 Official page ↗
Ecosystem
crates.io
Packages
rustls-webpki
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:H/A:N
Weaknesses
CWE-299
Reviewed
2026-03-20

Affected packages

• crates.io rustls-webpki: >= 0.102.0-alpha.0, < 0.103.10 → fixed in 0.103.10 • crates.io rustls-webpki: >= 0.104.0-alpha.1, < 0.104.0-alpha.5 → fixed in 0.104.0-alpha.5

Description

If a certificate had more than one `distributionPoint`, then only the first `distributionPoint` would be considered against each CRL's `IssuingDistributionPoint` `distributionPoint`, and then the certificate's subsequent `distributionPoint`s would be ignored. The impact was that correct provided CRLs would not be consulted to check revocation. With `UnknownStatusPolicy::Deny` (the default) this would lead to incorrect but safe `Error::UnknownRevocationStatus`. With `UnknownStatusPolicy::Allow` this would lead to inappropriate acceptance of revoked certificates. This vulnerability is thought to be of limited impact. This is because both the certificate and CRL are signed -- an attacker would need to compromise a trusted issuing authority to trigger this bug. An attacker with such capabilities could likely bypass revocation checking through other more impactful means (such as publishing a valid, empty CRL.) More likely, this bug would be latent in normal use, and an attacker could leverage faulty revocation checking to continue using a revoked credential.

Related

Weakness · CWE (1)

  • CWE-299 Improper Check for Certificate Revocation weakness

References