CVE-2024-49768

Waitress has request processing race condition in HTTP pipelining with invalid first request

Published Oct 29, 2024 CVSS 3.1 · 9.1 Critical EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2024-0187 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.
Github GHSA Github GHSA GHSA-9298-4cf8-g4wj Waitress has request processing race condition in HTTP pipelining with invalid first request
Ubuntu USN Ubuntu USN USN-7115-1 Waitress vulnerabilities
History
Type Values Removed Values Added
Metrics epss

{'score': 0.00031}

epss

{'score': 0.00034}

Type Values Removed Values Added
Metrics epss

{'score': 0.00024}

epss

{'score': 0.00031}

Type Values Removed Values Added
First Time appeared Redhat openstack
CPEs cpe:/a:redhat:openstack:16.2::el8
cpe:/a:redhat:openstack:17.1::el8
cpe:/a:redhat:openstack:17.1::el9
Vendors & Products Redhat openstack
Type Values Removed Values Added
CPEs cpe:/a:redhat:openshift_ironic:4.13::el9
Type Values Removed Values Added
CPEs cpe:/a:redhat:openshift_ironic:4.12::el9
Type Values Removed Values Added
CPEs cpe:/a:redhat:openshift_ironic:4.15::el9
Type Values Removed Values Added
First Time appeared Redhat
Redhat openshift Ironic
CPEs cpe:/a:redhat:openshift_ironic:4.14::el9
cpe:/a:redhat:openshift_ironic:4.16::el9
cpe:/a:redhat:openshift_ironic:4.17::el9
Vendors & Products Redhat
Redhat openshift Ironic
Type Values Removed Values Added
First Time appeared Agendaless
Agendaless waitress
CPEs cpe:2.3:a:agendaless:waitress:*:*:*:*:*:*:*:*
Vendors & Products Agendaless
Agendaless waitress
Type Values Removed Values Added
First Time appeared Pylons
Pylons waitress
CPEs cpe:2.3:a:pylons:waitress:*:*:*:*:*:*:*:*
Vendors & Products Pylons
Pylons waitress
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
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.
Title Waitress has request processing race condition in HTTP pipelining with invalid first request
Weaknesses CWE-367
CWE-444
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Oct 29, 2024, 2:56 PM
Reserved
Oct 18, 2024, 1:43 PM
Status
Analyzed
Published
Oct 29, 2024, 3:15 PM
Modified
Jun 17, 2026, 8:00 AM
Severity
Important
Public date
Oct 29, 2024, 2:32 PM