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. This was previously reported in https://github.com/briansmith/webpki/issues/69. `rustls-webpki` is a fork of this crate which contains a fix for this issue and is actively maintained.
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. This was previously reported in <https://github.com/briansmith/webpki/issues/69> and re-reported recently by Luke Malinowski. webpki 0.22.1 included a partial fix and webpki 0.22.2 added further fixes.
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. This was previously reported in https://github.com/briansmith/webpki/issues/69. `rustls-webpki` is a fork of this crate which contains a fix for this issue and is actively maintained.
05 / REFERENCES
Further evidence
- https://crates.io/crates/webpki
- https://rustsec.org/advisories/RUSTSEC-2023-0052.html
- https://github.com/briansmith/webpki
- https://github.com/briansmith/webpki/commit/30a108e0802fd09585e0d071013f24b8272d139b
- https://github.com/briansmith/webpki/issues/69
- https://github.com/briansmith/webpki/issues/69#issuecomment-1699894848
- https://github.com/crypto-com/sgx-vendor