In affected releases of gRPC-Go, it is possible for an attacker to send HTTP/2 requests, cancel them, and send subsequent requests, which is valid by the HTTP/2 protocol, but would cause the gRPC-Go server to launch more concurrent method handlers than the configured maximum stream limit.
Patches
This vulnerability was addressed by #6703 and has been included in patch releases: 1.56.3, 1.57.1, 1.58.3. It is also included in the latest release, 1.59.0.
Along with applying the patch, users should also ensure they are using the grpc.MaxConcurrentStreams server option to apply a limit to the server's resources used for any single connection.
Workarounds
None.
References
6703
Release Notes
grpc/grpc-go (google.golang.org/grpc)
### [`v1.58.3`](https://togithub.com/grpc/grpc-go/releases/tag/v1.58.3)
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.58.2...v1.58.3)
### Security
- server: prohibit more than MaxConcurrentStreams handlers from running at once (CVE-2023-44487)
In addition to this change, applications should ensure they do not leave running tasks behind related to the RPC before returning from method handlers, or should enforce appropriate limits on any such work.
### [`v1.58.2`](https://togithub.com/grpc/grpc-go/releases/tag/v1.58.2): Release 1.58.2
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.58.1...v1.58.2)
### Bug Fixes
- balancer/weighted_round_robin: fix ticker leak on update
A new ticker is created every time there is an update of addresses or configuration, but was not properly stopped. This change stops the ticker when it is no longer needed.
### [`v1.58.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.58.1): Release 1.58.1
[Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.58.0...v1.58.1)
##### Bug Fixes
- grpc: fix a bug that was decrementing active RPC count too early for streaming RPCs; leading to channel moving to IDLE even though it had open streams
- grpc: fix a bug where transports were not being closed upon channel entering IDLE
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
v1.58.0
->v1.58.3
GitHub Vulnerability Alerts
GHSA-m425-mq94-257g
Impact
In affected releases of gRPC-Go, it is possible for an attacker to send HTTP/2 requests, cancel them, and send subsequent requests, which is valid by the HTTP/2 protocol, but would cause the gRPC-Go server to launch more concurrent method handlers than the configured maximum stream limit.
Patches
This vulnerability was addressed by #6703 and has been included in patch releases: 1.56.3, 1.57.1, 1.58.3. It is also included in the latest release, 1.59.0.
Along with applying the patch, users should also ensure they are using the
grpc.MaxConcurrentStreams
server option to apply a limit to the server's resources used for any single connection.Workarounds
None.
References
6703
Release Notes
grpc/grpc-go (google.golang.org/grpc)
### [`v1.58.3`](https://togithub.com/grpc/grpc-go/releases/tag/v1.58.3) [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.58.2...v1.58.3) ### Security - server: prohibit more than MaxConcurrentStreams handlers from running at once (CVE-2023-44487) In addition to this change, applications should ensure they do not leave running tasks behind related to the RPC before returning from method handlers, or should enforce appropriate limits on any such work. ### [`v1.58.2`](https://togithub.com/grpc/grpc-go/releases/tag/v1.58.2): Release 1.58.2 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.58.1...v1.58.2) ### Bug Fixes - balancer/weighted_round_robin: fix ticker leak on update A new ticker is created every time there is an update of addresses or configuration, but was not properly stopped. This change stops the ticker when it is no longer needed. ### [`v1.58.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.58.1): Release 1.58.1 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.58.0...v1.58.1) ##### Bug Fixes - grpc: fix a bug that was decrementing active RPC count too early for streaming RPCs; leading to channel moving to IDLE even though it had open streams - grpc: fix a bug where transports were not being closed upon channel entering IDLEConfiguration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.