chore(deps): update dependency waitress to v3 [security] #223
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.1
GitHub Vulnerability Alerts
CVE-2024-49769
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
CVE-2024-49768
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 to0
by 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
Release Notes
Pylons/waitress (waitress)
v3.0.1
Compare Source
Security
v3.0.0
Compare Source
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. https://github.com/Pylons/waitress/pull/399pull/399
Fixed testing of vendored asyncore code to not rely on particular naming for
errno's. https://github.com/Pylons/waitress/pull/397/397
HTTP Request methods and versions are now validated to meet the HTTP
standards thereby dropping invalid requests on the floor. https://github.com/Pylons/waitress/pull/423pull/423
No longer close the connection when sending a HEAD request response. See
https://github.com/Pylons/waitress/pull/428/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 instanchttps://github.com/Pylons/waitress/pull/429pull/429
Python 3.7 is no longer supported. Add support for Python 3.11, 3.12 and
PyPy 3.9, 3.10. https://github.com/Pylons/waitress/pull/412/412
Document that trusted_proxy may be set to a wildcard value to trust all
proxies. https://github.com/Pylons/waitress/pull/431/431
Updated Defaults
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.
This PR was generated by Mend Renovate. View the repository job log.