Skip to content

Conversation

@JamesNK
Copy link
Member

@JamesNK JamesNK commented Sep 2, 2021

Backport of #36017 to release/6.0

Customer Impact

HTTP/3 requests that have been canceled or aborted after the incoming request body is read weren't being correctly removed on the server. This could cause some canceled HTTP requests to hang around on the server, using up resources and creating a memory leak. There is the opportunity for malicious clients to use this to DOS attack the server.

Testing

Functional tests. Also tested with grpc-dotnet.

Risk

Medium-Low. The HTTP/3 abort logic has non-trivial changes. To account for this, the changes have been well tested and reviewed by Kestrel SMEs.

Change is constrained to HTTP/3.

@JamesNK
Copy link
Member Author

JamesNK commented Sep 3, 2021

@wtgodbe Can you merge please 🙏

@wtgodbe wtgodbe merged commit bdae120 into release/6.0 Sep 3, 2021
@wtgodbe wtgodbe deleted the jamesnk/http3-waitwritescomplete-6 branch September 3, 2021 15:33
@ghost ghost added this to the 6.0-rc2 milestone Sep 3, 2021
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Jun 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants