Waitress vulnerable to DoS leading to high CPU usage/resource exhaustion
Description
Published to the GitHub Advisory Database
Oct 29, 2024
Reviewed
Oct 29, 2024
Published by the National Vulnerability Database
Oct 29, 2024
Last updated
Oct 29, 2024
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
References