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 wont 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.
The product does not release a resource after its effective lifetime has ended, i.e., after the resource is no longer needed.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Waitress | Agendaless | * | 3.0.1 (excluding) |
Ironic content for Red Hat OpenShift Container Platform 4.12 | RedHat | python-waitress-0:3.0.1-1.el9 | * |
Ironic content for Red Hat OpenShift Container Platform 4.13 | RedHat | python-waitress-0:3.0.1-1.el9 | * |
Red Hat OpenShift Container Platform 4.14 | RedHat | python-waitress-0:3.0.1-1.el9 | * |
Red Hat OpenShift Container Platform 4.15 | RedHat | python-waitress-0:3.0.1-1.el9 | * |
Red Hat OpenShift Container Platform 4.16 | RedHat | python-waitress-0:3.0.1-1.el9 | * |
Red Hat OpenShift Container Platform 4.17 | RedHat | python-waitress-0:3.0.1-1.el9 | * |
Red Hat OpenStack Platform 16.2 | RedHat | python-waitress-0:2.0.0-4.el8ost | * |
Waitress | Ubuntu | esm-apps/noble | * |
Waitress | Ubuntu | esm-infra/bionic | * |
Waitress | Ubuntu | esm-infra/xenial | * |
Waitress | Ubuntu | focal | * |
Waitress | Ubuntu | jammy | * |
Waitress | Ubuntu | noble | * |
Waitress | Ubuntu | oracular | * |
Waitress | Ubuntu | upstream | * |