CRLs not considered authoritative by Distribution Point due to faulty matching logic
Details
Package
rustls-webpki
Version
0.102.8
Date
2026-03-20
Patched versions
>=0.103.10
Unaffected versions
<0.102.0-alpha.0
If a certificate had more than one distributionPoint, then only the first distributionPoint would be considered against each CRL's IssuingDistributionPointdistributionPoint, and then the certificate's subsequent distributionPoints would be ignored.
The impact was that correctly 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.
> CRLs not considered authoritative by Distribution Point due to faulty matching logic
| Details | |
| ------------------- | ---------------------------------------------- |
| Package | `rustls-webpki` |
| Version | `0.102.8` |
| Date | 2026-03-20 |
| Patched versions | `>=0.103.10` |
| Unaffected versions | `<0.102.0-alpha.0` |
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 correctly 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.
This vulnerability is identified as [GHSA-pwjx-qhcg-rvj4](https://github.com/rustls/webpki/security/advisories/GHSA-pwjx-qhcg-rvj4). Thank you to [@1seal](https://github.com/1seal) for the report.
See [advisory page](https://rustsec.org/advisories/RUSTSEC-2026-0049.html) for additional details.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
rustls-webpki0.102.8>=0.103.10<0.102.0-alpha.0If a certificate had more than one
distributionPoint, then only the firstdistributionPointwould be considered against each CRL'sIssuingDistributionPointdistributionPoint, and then the certificate's subsequentdistributionPoints would be ignored.The impact was that correctly provided CRLs would not be consulted to check revocation. With
UnknownStatusPolicy::Deny(the default) this would lead to incorrect but safeError::UnknownRevocationStatus. WithUnknownStatusPolicy::Allowthis 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.
This vulnerability is identified as GHSA-pwjx-qhcg-rvj4. Thank you to @1seal for the report.
See advisory page for additional details.