Skip to content

netty: Fix client-initiated stream limit bypass in NettyServerHandler (v1.82.x backport) - #12941

Merged
kannanjgithub merged 1 commit into
grpc:v1.82.xfrom
kannanjgithub:backport-1.82-netty-maxstreams-enforce
Jul 29, 2026
Merged

netty: Fix client-initiated stream limit bypass in NettyServerHandler (v1.82.x backport)#12941
kannanjgithub merged 1 commit into
grpc:v1.82.xfrom
kannanjgithub:backport-1.82-netty-maxstreams-enforce

Conversation

@kannanjgithub

Copy link
Copy Markdown
Contributor

Backport of #12933 to v1.82.x.

Configure connection.remote().maxActiveStreams(maxStreams) directly upon DefaultHttp2Connection initialization.
Because NettyServerHandler instantiates DefaultHttp2Connection directly rather than using Netty's AbstractHttp2ConnectionHandlerBuilder, it missed Netty's built-in CVE-2026-47244 patch. This left a pre-handshake window where the server's local connection allowed up to Integer.MAX_VALUE active client-initiated streams until a SETTINGS_ACK was received. Enforcing the limit proactively at startup closes this vulnerability window and prevents client-initiated stream floods / resource exhaustion.

Fixes #12930

…grpc#12933)

Configure connection.remote().maxActiveStreams(maxStreams) directly upon
`DefaultHttp2Connection` initialization.
Because `NettyServerHandler` instantiates `DefaultHttp2Connection`
directly rather than using Netty's
`AbstractHttp2ConnectionHandlerBuilder`, it missed Netty's built-in
CVE-2026-47244 patch. This left a pre-handshake window where the
server's local connection allowed up to Integer.MAX_VALUE active
client-initiated streams until a SETTINGS_ACK was received. Enforcing
the limit proactively at startup closes this vulnerability window and
prevents client-initiated stream floods / resource exhaustion.

Fixes grpc#12930
@kannanjgithub kannanjgithub added the kokoro:force-run Add this label to a PR to tell Kokoro to re-run all tests. Not generally necessary label Jul 29, 2026
@grpc-kokoro grpc-kokoro removed the kokoro:force-run Add this label to a PR to tell Kokoro to re-run all tests. Not generally necessary label Jul 29, 2026
@kannanjgithub
kannanjgithub merged commit 731eaf9 into grpc:v1.82.x Jul 29, 2026
17 of 18 checks passed
@kannanjgithub
kannanjgithub deleted the backport-1.82-netty-maxstreams-enforce branch July 29, 2026 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants