rustls-webpki: CPU denial of service in certificate path building
When this crate is given a pathological certificate chain to validate, it will spend CPU time exponential with the number of candidate certificates at each step of path building. Both TLS clients and TLS servers that accept client certificate are affected. We now give each path building operation a budget of 100 signature verifications. The original `webpki` crate is also affected. This was previously reported in the original crate <https://github.com/briansmith/webpki/issues/69> and re-reported to us recently by Luke Malinowski.
02 / AFFECTED SOFTWARE
Affected packages
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
When this crate is given a pathological certificate chain to validate, it will spend CPU time exponential with the number of candidate certificates at each step of path building. Both TLS clients and TLS servers that accept client certificate are affected. We now give each path building operation a budget of 100 signature verifications. The original `webpki` crate is also affected, see [GHSA-8qv2-5vq6-g2g7](https://github.com/advisories/GHSA-8qv2-5vq6-g2g7). This was previously reported in the original crate <https://github.com/briansmith/webpki/issues/69> and re-reported to us recently.
When this crate is given a pathological certificate chain to validate, it will spend CPU time exponential with the number of candidate certificates at each step of path building. Both TLS clients and TLS servers that accept client certificate are affected. We now give each path building operation a budget of 100 signature verifications. The original `webpki` crate is also affected. This was previously reported in the original crate <https://github.com/briansmith/webpki/issues/69> and re-reported to us recently by Luke Malinowski.
05 / REFERENCES
Further evidence
- https://github.com/advisories/GHSA-8qv2-5vq6-g2g7
- https://github.com/rustls/webpki
- https://github.com/rustls/webpki/commit/4ea052366f342a06344aab589565179b59b342d3
- https://github.com/rustls/webpki/commit/dcad2406c92169b72c110dd12183fcc74035b683
- https://rustsec.org/advisories/RUSTSEC-2023-0053.html
- https://crates.io/crates/rustls-webpki