GHSA-PWJX-QHCG-RVJ4
webpki: CRLs not considered authoritative by Distribution Point due to faulty matching logic
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.
Affected products and versions
1| Product | Source | Version range | Status |
|---|---|---|---|
rustls-webpkiBrowse crates.io / rustls-webpki | GitHub Advisory | 0.102.0-alpha.0 to < 0.103.10 · Fixed in 0.103.10 | affected |
| 0.104.0-alpha.1 to < 0.104.0-alpha.5 · Fixed in 0.104.0-alpha.5 | affected |