Skip to content
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

HTTP/2 Security Vulnerabilities #1245

Closed
skylerto opened this issue Aug 14, 2019 · 11 comments
Closed

HTTP/2 Security Vulnerabilities #1245

skylerto opened this issue Aug 14, 2019 · 11 comments
Labels
community issues submitted by community folks deployment-team security

Comments

@skylerto
Copy link

Security vulnerabilities were reported with HTTP/2 implementations, gRPC being one of them. I know that this software makes extensive use of gRPC for internal service communications and wanted to bring it up as it could effect some of our clients. Looking for feedback on how the automate team might be addressing these vulnerabilities.

https://www.kb.cert.org/vuls/id/605641/

Describe the bug

Exploiting gRPC connections can be exploited with denial-of-service attacks causing unexpected resource consumption and/or service failures.

To Reproduce

Implement any of the issues brought up in this document: https://www.kb.cert.org/vuls/id/605641/

Expected behavior

Services should mitigate DOS attacks.

Screenshots

N/A

Versions (please complete the following information):

N/A

Additional context

Following reports:

@skylerto skylerto changed the title gRPC Security Vulerabilities HTTP/2 (gRPC) Security Vulerabilities Aug 14, 2019
@skylerto skylerto changed the title HTTP/2 (gRPC) Security Vulerabilities HTTP/2 Security Vulerabilities Aug 14, 2019
@srenatus
Copy link
Contributor

Thanks for opening this issue! I believe we've addressed these with #1237. 🤔 Haven't we? 😃

@srenatus
Copy link
Contributor

srenatus commented Aug 14, 2019

That last comment from me was re: the internal gRPC APIs. The other HTTP2 APIs, both internal and external, are being worked on:

@srenatus srenatus changed the title HTTP/2 Security Vulerabilities gRPC Security Vulnerabilities Aug 14, 2019
@srenatus srenatus changed the title gRPC Security Vulnerabilities HTTP/2 Security Vulnerabilities Aug 14, 2019
@srenatus
Copy link
Contributor

☝️ sorry for that, we've crossed wires when I wanted to fix the typo 😄

@stevendanna stevendanna added community issues submitted by community folks security labels Aug 14, 2019
@skylerto
Copy link
Author

skylerto commented Aug 14, 2019

@srenatus thanks for the quick reply && typo fix!

Looks like 3 of the 8 reported CVEs were taken care of as part of the 1.23.0 grpc-go release. Those 3 being:

Another 3 are covered at the proxy/load balancer (nginx):

I'm not sure if the other CVEs not covered are incarnations of the 6 that were fixed these are still not discussed anywhere:

Forgive me, I'm trying to sort through all this. 🙈

@srenatus
Copy link
Contributor

Forgive me, I'm trying to sort through all this. 🙈

Oh, it's super helpful that you're doing, and sharing this! 🎈After all, you can imagine that we're frantically bumping dependencies in many places, and it's good to know someone is keeping calm, watchful eye on the situation 😉

@srenatus
Copy link
Contributor

Update the latest harts published to the dev channel have been rebuilt, to

  • include versions of core/nginx and core/dex that have the fixes
  • use net/http from golang 1.12.8

So, this won't make it into Monday's release, I suspect; but it'll be in the next one.

@stevendanna
Copy link
Contributor

I've added a TODO to look into notifications-service which is elixir based and thus wouldn't have a fix included in what we've pushed currently.

@stevendanna
Copy link
Contributor

ninenines/cowboy#1398

@sdelano
Copy link

sdelano commented Oct 30, 2019

According to the cowboy issue linked above it appears that these issues have been addressed in that project. There's no commit linking to the fixes however, so we'll have to verify.

jaym pushed a commit that referenced this issue Feb 13, 2020
Bring in updated grpc, protobuf, and cowboy

Should address the remaining of #1245

Signed-off-by: Jay Mundrawala <jmundrawala@chef.io>
jaym pushed a commit that referenced this issue Feb 13, 2020
Bring in updated grpc, protobuf, and cowboy

Should address the remaining of #1245

Signed-off-by: Jay Mundrawala <jmundrawala@chef.io>
jaym pushed a commit that referenced this issue Feb 13, 2020
Bring in updated grpc, protobuf, and cowboy

Should address the remaining of #1245

Signed-off-by: Jay Mundrawala <jmundrawala@chef.io>
jaym pushed a commit that referenced this issue Feb 14, 2020
Bring in updated grpc, protobuf, and cowboy. The new protobuf library
changed default enum values. Unfortunately, both atoms and integers are
allowed, and there's no easy way to enforce consistency.

Should address the remaining of #1245

Signed-off-by: Jay Mundrawala <jmundrawala@chef.io>
jaym pushed a commit that referenced this issue Feb 18, 2020
* Update notifications service dependencies

Bring in updated grpc, protobuf, and cowboy. The new protobuf library
changed default enum values. Unfortunately, both atoms and integers are
allowed, and there's no easy way to enforce consistency.

Should address the remaining of #1245

Signed-off-by: Jay Mundrawala <jmundrawala@chef.io>
@susanev
Copy link
Contributor

susanev commented Feb 24, 2020

@skylerto we addressed the last part of this issue in the latest release
https://automate.chef.io/release-notes/?v=20200220011437

with this work
d438271

let us know if you have any more concerns

@skylerto
Copy link
Author

Looks great, thanks so much @susanev!

@susanev susanev closed this as completed Feb 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community issues submitted by community folks deployment-team security
Projects
None yet
Development

No branches or pull requests

5 participants