-
Notifications
You must be signed in to change notification settings - Fork 226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RUSTSEC-2023-0052: webpki: CPU denial of service in certificate path building #1342
Comments
It seems like cutting out |
|
I see two crates through which this workspace depends on |
If you update to |
Can you provide a precise way to do it? |
#1346 provides a surgical approach, by cutting out all proxy support. The other alternatives to resolve this that I see:
|
Oh sorry, I missed that |
Thanks for the fix! Would it be possible to cut a new |
HTTP CONNECT support seems doable in house by following the doc on protocol upgrades in |
Well... we are still debating whether removing all proxy support (which was once a requested feature) is an acceptable price for this. |
FWIW we no longer run any apps which require RPC through a proxy, so if you want to rip it out that's fine with us |
I have explored rewriting a proxy connector, but ran into connection lifecycle issues that are rather hard to debug, and the available examples from upstream do not fit our usage very well. |
Co-authored-by: Romain Ruetschi <[email protected]>
* rpc: replace hyper::Client with reqwest::Client In hyper, the high-level Client implementation is going to be removed in the next major release. The current client lacks built-in support for HTTP proxies, and we want to ditch hyper-proxy as it is unmaintained and its webpki dependency has known security issues. * Remove the proxy_client example Oops, this was temporary and not meant to be commited. The CLI can be used to test the proxy support. * Bump async-tungstenite version to 0.23 * rpc: fix proxy configuration in http::Builder * rpc: use argument type to select the dialog Remove ugly turbofish syntax. The changes only affect internal methods, so these stylistics do not matter a lot. * rpc: restore LatestDialog as re-export This solves the problem with using type alias as a constructor. * Changelog entries for #1362 * rpc: prune dependencies for http-client feature * rpc: demote http to dev-dependencies * Small rewording in changelog for #1342 (#1362) Co-authored-by: Romain Ruetschi <[email protected]> --------- Co-authored-by: Romain Ruetschi <[email protected]>
Happy to see a fix for this issue, thanks! Would it be possible to backport this fix to 0.29.x for TM 0.34 support? |
…1362) * rpc: replace hyper::Client with reqwest::Client In hyper, the high-level Client implementation is going to be removed in the next major release. The current client lacks built-in support for HTTP proxies, and we want to ditch hyper-proxy as it is unmaintained and its webpki dependency has known security issues. * Remove the proxy_client example Oops, this was temporary and not meant to be commited. The CLI can be used to test the proxy support. * Bump async-tungstenite version to 0.23 * rpc: fix proxy configuration in http::Builder * rpc: use argument type to select the dialog Remove ugly turbofish syntax. The changes only affect internal methods, so these stylistics do not matter a lot. * rpc: restore LatestDialog as re-export This solves the problem with using type alias as a constructor. * Changelog entries for informalsystems#1362 * rpc: prune dependencies for http-client feature * rpc: demote http to dev-dependencies * Small rewording in changelog for informalsystems#1342 (informalsystems#1362) Co-authored-by: Romain Ruetschi <[email protected]> --------- Co-authored-by: Romain Ruetschi <[email protected]>
webpki
0.22.0
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
<briansmith/webpki#69> and re-reported recently
by Luke Malinowski.
rustls-webpki
is a fork of this crate which contains a fix for this issueand is actively maintained.
See advisory page for additional details.
The text was updated successfully, but these errors were encountered: