HTTP Request Smuggling in waitress
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Partial Red Hat: 3 fixed, 2 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
Waitress is a Web Server Gateway Interface server for Python 2 and 3. When using Waitress versions 2.1.0 and prior behind a proxy that does not properly validate the incoming HTTP request matches the RFC7230 standard, Waitress and the frontend proxy may disagree on where one request starts and where it ends. This would allow requests to be smuggled via the front-end proxy to waitress and later behavior. There are two classes of vulnerability that may lead to request smuggling that are addressed by this advisory: The use of Python's `int()` to parse strings into integers, leading to `+10` to be parsed as `10`, or `0x01` to be parsed as `1`, where as the standard specifies that the string should contain only digits or hex digits; and Waitress does not support chunk extensions, however it was discarding them without validating that they did not contain illegal characters. This vulnerability has been patched in Waitress 2.1.1. A workaround is available. When deploying a proxy in front of waitress, turning on any and all functionality to make sure that the request matches the RFC7230 standard. Certain proxy servers may not have this functionality though and users are encouraged to upgrade to the latest version of waitress instead.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Pylons | waitress | before 2.1.1 | 2.1.1 | Patch available | CNA |
| — | waitress (PyPI) | before 2.1.1 | 2.1.1 | Patch available | GHSA-4f7p-27jc-3c36 |
- waitress VendorPylons Affected before 2.1.1 Fixed in 2.1.1 Patch available CNA
- waitress (PyPI) Vendor— Affected before 2.1.1 Fixed in 2.1.1 Patch available GHSA-4f7p-27jc-3c36
CPE configurations NVD · 2
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:agendaless:waitress:*:*:*:*:*:*:*:* | before 2.1.1 | Vulnerable | Agendaless |
| cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:* | 9.0 | Vulnerable | Debian |
- cpe:2.3:a:agendaless:waitress:*:*:*:*:*:*:*:* Versions before 2.1.1 Vulnerable ·Agendaless
- cpe:2.3:o:debian:debian_linux:9.0:*:*:*:*:*:*:* Versions 9.0 Vulnerable ·Debian
Remediation
- Fix · CNA waitress (Pylons) Fixed in 2.1.1
- Fix · GHSA-4f7p-27jc-3c36 waitress (PyPI) Fixed in 2.1.1 Advisory →
Red Hat 3 advisories
- RHSA-2022:1264 Released 2022-04-07 · Red Hat rating ImportantRed Hat OpenStack Platform 13.0 (python-waitress) security update
- Red Hat OpenStack Platform 13.0 - ELS python-waitress-1.4.4-2.el7ost, python2-waitress-1.4.4-2.el7ost
- RHSA-2022:1254 Released 2022-04-06 · Red Hat rating ImportantRed Hat OpenStack Platform 16.1 (python-waitress) security update
- Red Hat OpenStack Platform 16.1 python-waitress-2.0.0-1.el8ost, python3-waitress-2.0.0-1.el8ost
- RHSA-2022:1253 Released 2022-04-06 · Red Hat rating ImportantRed Hat OpenStack Platform 16.2 (python-waitress) security update
- Red Hat OpenStack Platform 16.2 python-waitress-2.0.0-1.el8ost, python3-waitress-2.0.0-1.el8ost
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Ceph Storage 3 | Affected | No fix planned: Out of support scope |
| Red Hat Quay 3 | Affected | No fix yet |
| Red Hat OpenStack Platform 13.0 - ELS | Fixed | RHSA-2022:1264 |
| Red Hat OpenStack Platform 16.1 | Fixed | RHSA-2022:1254 |
| Red Hat OpenStack Platform 16.2 | Fixed | RHSA-2022:1253 |
Not affected: 3 products
- Red Hat Ceph Storage 4
- Red Hat Ceph Storage 5
- Red Hat Openshift Data Foundation 4
Timeline
- 2026-10-02 Threatist record created from CVE-2022-24761
- 2026-10-03 Alias added: GHSA-4f7p-27jc-3c36
References
Advisory 5
More Pylons vulnerabilities
- TI-2022-13060 Uncaught Exception (due to a data race) leads to process termination in Waitress CVSS 3.1MEDIUM 6.5
- TI-2026-39576 WebOb: Open redirect in Location header normalization via leading C0 control / space characters CVSS 3.1MEDIUM 6.1
- TI-2024-33235 Waitress has request processing race condition in HTTP pipelining with invalid first request CVSS 3.1CRITICAL 9.1
- TI-2024-33236 Waitress has a denial of service leading to high CPU usage/resource exhaustion CVSS 3.1HIGH 7.5
- TI-2019-12566 HTTP Request Smuggling in Waitress: Invalid whitespace characters in headers CVSS 3.1HIGH 8.2
- TI-2019-12564 HTTP Request Smuggling: LF vs CRLF handling in Waitress CVSS 3.1HIGH 7.5
Sources
- CVE-2022-24761 · CVE Program
- CVE-2022-24761 · NVD
- FIRST EPSS
- GHSA-4f7p-27jc-3c36 · GitHub Advisory Database · CC BY 4.0
- CVE-2022-24761 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences