-
Notifications
You must be signed in to change notification settings - Fork 689
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
release-1.26: Backport #5827 and #5850 #5851
release-1.26: Backport #5827 and #5850 #5851
Conversation
An additional mitigation to CVE-2023-44487 available in Envoy 1.27.1. This change allows configuring the http.max_requests_per_io_cycle Envoy runtime setting via Contour configuration to allow administrators of Contour to prevent abusive connections from starving resources from others. The default is left as the existing behavior, that is no limit, so as not to impact existing valid traffic. See the Envoy release notes for more information: https://www.envoyproxy.io/docs/envoy/v1.27.1/version_history/v1.27/v1.27.1 Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
pkg/config/parameters.go
Outdated
// I/O cycles. Can be used as a mitigation for CVE-2023-44487 when abusive traffic is | ||
// detected. Configures the http.max_requests_per_io_cycle Envoy runtime setting. The default | ||
// value when this is not set is no limit. | ||
MaxRequestsPerIOCycle *uint32 `yaml:"max-requests-per-io-cycle"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this ends up being a new configuration field available if we do backport this (and other following) change
worth a discussion whether this is desirable or we should only include this new mitigation/feature in the latest release
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Envoy also ended up introducing this new configuration in backports, which is maybe bit unusual, but I do not have strong opinion. It sounds ok for me.
That said, the Envoy version needs to get bumped. I guess to each respective release tracks according to https://projectcontour.io/resources/compatibility-matrix/ vs GHSA-jhv4-f7mr-xx76. Edit: sorry I missed it was already done #5823 😄
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## release-1.26 #5851 +/- ##
================================================
+ Coverage 78.56% 78.58% +0.02%
================================================
Files 138 138
Lines 19163 19195 +32
================================================
+ Hits 15056 15085 +29
- Misses 3820 3823 +3
Partials 287 287
|
Adds a global Listener configuration field for admins to be able to protect their installations of Contour/Envoy with a limit. Default is no limit to ensure existing behavior is not impacted for valid traffic. This field can be used for tuning resource usage or mitigated DOS attacks like in CVE-2023-44487. Also fixes omitempty tags on MaxRequestsPerIOCycle field. Fixes: projectcontour#5846 Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
Commit messages:
An additional mitigation to CVE-2023-44487 available in Envoy 1.27.1. This change allows configuring the http.max_requests_per_io_cycle Envoy runtime setting via Contour configuration to allow administrators of Contour to prevent abusive connections from starving resources from others. The default is left as the existing behavior, that is no limit, so as not to impact existing valid traffic.
See the Envoy release notes for more information:
https://www.envoyproxy.io/docs/envoy/v1.27.1/version_history/v1.27/v1.27.1
HTTP/2 max concurrent streams can be configured (#5850)
Adds a global Listener configuration field for admins to be able to
protect their installations of Contour/Envoy with a limit. Default is no
limit to ensure existing behavior is not impacted for valid traffic.
This field can be used for tuning resource usage or mitigated DOS
attacks like in CVE-2023-44487.