Skip to content

core: Delayed deserialization for unary/server-streaming calls (v1.84.x backport) - #13098

Merged
kannanjgithub merged 1 commit into
grpc:v1.84.xfrom
kannanjgithub:backport-1.84-protobuf-eos-delay-attack
Oct 8, 2026
Merged

kannanjgithub merged 1 commit into
grpc:v1.84.xfrom
kannanjgithub:backport-1.84-protobuf-eos-delay-attack

Conversation

@kannanjgithub

Copy link
Copy Markdown
Contributor

Backport of #13004 to v1.84.x.

For calls where the client sends at most one message (Unary and Server Streaming), the incoming message is deserialized immediately but there can be a delay before the client halfcloses, only at which point in time the the deserialized message is needed . This change delays the deserialization of incoming messages for such calls until the client actually half-closes the stream (sends END_STREAM).

If the call is cancelled before half-close, the buffered raw message is discarded without being deserialized.

…13004)

For calls where the client sends at most one message (Unary and Server
Streaming), the incoming message is deserialized immediately but there
can be a delay before the client halfcloses, only at which point in time
the the deserialized message is needed . This change delays the
deserialization of incoming messages for such calls until the client
actually half-closes the stream (sends END_STREAM).

If the call is cancelled before half-close, the buffered raw message is
discarded without being deserialized.
@kannanjgithub
kannanjgithub merged commit b73b67b into grpc:v1.84.x Oct 8, 2026
18 checks passed
@kannanjgithub
kannanjgithub deleted the backport-1.84-protobuf-eos-delay-attack branch October 8, 2026 05:42
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.

2 participants