chore(deps): update dependency waitress to v3 [security]#223
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update dependency waitress to v3 [security]#223renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
cbd2229 to
3fab0b4
Compare
3fab0b4 to
6253ee7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.1.2→==3.0.1Waitress vulnerable to DoS leading to high CPU usage/resource exhaustion
CVE-2024-49769 / GHSA-3f84-rpwh-47g6
More information
Details
Impact
When a remote client closes the connection before waitress has had the opportunity to call
getpeername()waitress won't correctly clean up the connection leading to the main thread attempting to write to a socket that no longer exists, but not removing it from the list of sockets to attempt to process. This leads to a busy-loop calling the write function.A remote attacker could run waitress out of available sockets with very little resources required.
Patches
Waitress 3.0.1 contains fixes that remove the race condition.
Workarounds
No work-around.
References
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Waitress has request processing race condition in HTTP pipelining with invalid first request
CVE-2024-49768 / GHSA-9298-4cf8-g4wj
More information
Details
Impact
A remote client may send a request that is exactly
recv_bytes(defaults to 8192) long, followed by a secondary request using HTTP pipelining.When request lookahead is disabled (default) we won't read any more requests, and when the first request fails due to a parsing error, we simply close the connection.
However when request lookahead is enabled, it is possible to process and receive the first request, start sending the error message back to the client while we read the next request and queue it. This will allow the secondary request to be serviced by the worker thread while the connection should be closed.
Patches
Waitress 3.0.1 fixes the race condition.
Workarounds
Disable
channel_request_lookahead, this is set to0by default disabling this feature. For this vulnerability this value is required to be changed from the default.For more information
If you have any questions or comments about this advisory:
Thanks
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
Pylons/waitress (waitress)
v3.0.1Compare Source
Backward Incompatibilities
v3.0.0Compare Source
3.0.0 (2024-02-04)
Rename "master" git branch to "main"
Fix a bug that would appear on macOS whereby if we accept() a socket that is
already gone, setting socket options would fail and take down the server. See
#399
Fixed testing of vendored asyncore code to not rely on particular naming for
errno's. See #397
HTTP Request methods and versions are now validated to meet the HTTP
standards thereby dropping invalid requests on the floor. See
#423
No longer close the connection when sending a HEAD request response. See
#428
Always attempt to send the Connection: close response header when we are
going to close the connection to let the remote know in more instances.
#429
Python 3.7 is no longer supported. Add support for Python 3.11, 3.12 and
PyPy 3.9, 3.10. See #412
Document that trusted_proxy may be set to a wildcard value to trust all
proxies. See #431
Updated Defaults
#370
Configuration
📅 Schedule: (UTC)
🚦 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 was generated by Mend Renovate. View the repository job log.