-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Maintainable path normalization library #6588
Comments
Wanna help where should i look at? |
@giorgiozoppi I think the first step here is to figure out if we want a tighter Chromium integration for the URL library or go another path. @danzh2010 @wu-bin do you have any thoughts on where our Chromium URL consumption is going? |
@htuch I will dig into the chromium_url meanwhile. |
Options:
|
I just into a usage of url normalization in quiche core code actually: https://cs.chromium.org/chromium/src/net/third_party/quiche/src/quic/core/crypto/quic_crypto_server_config.cc?rcl=68d15a821c88b0e85c345d1393643a25322ce608&l=858 These are the only two places where we probably need googleurl in core code. But having a light-weight home-grown library isn't a bad idea either. |
The danger here is that it's easy to make mistakes in a homegrown library with significant security implications. What I would like to see if we go down this path is:
I think if we have 1-3, I'd feel a little better. We still won't be picking up any security updates from Chromium URL, but maybe the smaller/simpler surface will reduce the need. CC @yanavlasov @asraa |
@htuch @yanavlasov @asraa. We could proceed with the same set of tests and add further tests , rippoff the things we need from chromium url, create a small test library and the game is over. If it is small it should be not difficult to mantain. |
After looking at chromuim URL I think this reasonable approach rather than trying to depend on googleurl. |
Below are the functions quiche needs from GURL: |
@danzh2010 do you have a plan-of-record for obtaining these? This is essentially what we pulled from Chromium URL:
|
https://quiche.googlesource.com/googleurl/ and Envoy links that in as part of Quic, so presumably it can use the googleurl library from there. |
Deprecation of http-parser is relevant here - #5155 (comment) |
From #10488 (comment):
We should try and put in place a sustainable policy around repo management here before closing out this ticket. |
Add googleurl as external dependency. Risk Level: low, not in use. Part of #6588 Signed-off-by: Dan Zhang <[email protected]>
#10599 is a reasonable chunk of the work to get us here. |
This removes chromium_url in favor of GURL. Risk Level: Low Testing: Existing tests Docs Changes: N/A Release Notes: N/A Fixes: #6588 Signed-off-by: Dhi Aurrahman <[email protected]>
This removes chromium_url in favor of GURL. Risk Level: Low Testing: Existing tests Docs Changes: N/A Release Notes: N/A Fixes: envoyproxy#6588 Signed-off-by: Dhi Aurrahman <[email protected]> Signed-off-by: scheler <[email protected]>
Following up on the fix for CVE-2019-9900, where we snapshotted, minified and adapted parts of the Chromium URL library to support path normalization, we should figure out how to cleanly consume Chromium URL in Envoy or switch to another lighter weight path normalization library.
Action item for CVE-2019-9901
The text was updated successfully, but these errors were encountered: