Logo
vulnerabilityCVE-2024-49769
Name
CVE-2024-49769
Source
NVD ( link)Debian ( link)
Description
Waitress is a Web Server Gateway Interface server for Python 2 and 3. 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. Waitress 3.0.1 contains fixes that remove the race condition.
Published Date
Updated Date
Workaround
-

Analysis#


Affected Component
Analysis
python3-waitress
Patched

Vulnerability Ratings#


7.5
CVSSv31
7.5
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
Assume socket is not connected when passed to
Delta Regeer <bertjw@regeer.org>
CVE-2024-49769
2
Remove test for getpeername()
Delta Regeer <bertjw@regeer.org>
CVE-2024-49769
3
When closing the socket, set it to None
Delta Regeer <bertjw@regeer.org>
CVE-2024-49769
4
Remove code not used by waitress from vendored asyncore
Delta Regeer <bertjw@regeer.org>
CVE-2024-49769
5
Don't exit handle_write early -- even if socket is not
Delta Regeer <bertjw@regeer.org>
CVE-2024-49769
6
HTTPChannel is always created from accept, explicitly set
Delta Regeer <bertjw@regeer.org>
CVE-2024-49769