HTTP Request Smuggling in waitress
Impact
When using Waitress 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+10to be parsed as10, or0x01to be parsed as1, where as the standard specifies that the string should contain only digits or hex digits. - Waitress does not support chunk extensions, however it was discarding them without validating that they did not contain illegal characters
Patches
This has been fixed in Waitress 2.1.1
Workarounds
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.
References
For more information
If you have any questions or comments about this advisory:
- Open an issue in the Github issue tracker (if not security related/sensitive)
- Email us at pylons-project-security@googlegroups.com (If security related or sensitive)
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | waitress | < 2.1.1 | 2.1.1 |
References
- https://github.com/Pylons/waitress/commit/9e0b8c801e4d505c2ffc91b891af4ba48af715e0
- https://github.com/Pylons/waitress/security/advisories/GHSA-4f7p-27jc-3c36
- https://github.com/Pylons/waitress/releases/tag/v2.1.1
- https://nvd.nist.gov/vuln/detail/CVE-2022-24761
- https://github.com/Pylons/waitress
- https://github.com/pypa/advisory-database/tree/main/vulns/waitress/PYSEC-2022-169.yaml
- https://lists.debian.org/debian-lts-announce/2022/05/msg00011.html
- https://www.debian.org/security/2022/dsa-5138
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N- Weakness (CWE)
CWE-444- Platform
- Python (PyPI)
- Package
waitress- Disclosed
- 17.03.2022
- Updated
- 11.10.2026 11:20
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2022-169 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-4f7p-27jc-3c36 - CC BY 4.0
Vulnerability history: waitress
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 10
- First → latest
- 12.2019 10.2024
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Critical 2
- High 4
- Medium 4
Disclosures per year
- 2019: 5
- 2020: 1
- 2021: 0
- 2022: 2
- 2023: 0
- 2024: 2
- 2025: 0
- 2026: 0
-
HTTP Request Smuggling in waitress this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.