Logo
vulnerabilityCVE-2024-49768
Name
CVE-2024-49768
Source
NVD ( link)Debian ( link)
Description
Waitress is a Web Server Gateway Interface server for Python 2 and 3. 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. Waitress 3.0.1 fixes the race condition. As a workaround, disable channel_request_lookahead, this is set to 0 by default disabling this feature.
Published Date
Updated Date
Workaround
-

Analysis#


Affected Component
Analysis
python3-waitress
Patched

Vulnerability Ratings#


9.1
CVSSv31
4.8
CVSSv31
NaN
other

Others affected component#


Name
Project
Project Version
Version
Status
yocto
scarthgap
3.0.2
Not Affected

Resolved with patches#


python3-waitress (yocto:kirkstone)

#
Title
Author
Resolve
1
Add documentation for channel_request_lookahead
Delta Regeer <bertjw@regeer.org>
CVE-2024-49768
2
Make DummySock() look more like an actual socket
Delta Regeer <bertjw@regeer.org>
CVE-2024-49768
3
Fix a race condition on recv_bytes boundary when request is
Delta Regeer <bertjw@regeer.org>
CVE-2024-49768
4
Add a new test to validate the lookahead race condition
Delta Regeer <bertjw@regeer.org>
CVE-2024-49768