CVE-2019-16789: HTTP Request Smuggling in Waitress: Invalid whitespace characters in headers

Published Dec 26, 2019
·
Updated

Impact

The patches introduced to fix https://github.com/Pylons/waitress/security/advisories/GHSA-m5ff-3wj3-8ph4 were not complete and still would allow an attacker to smuggle requests/split a HTTP request with invalid data.

This updates the existing CVE with ID: CVE-2019-16789

Patches

Waitress version 1.4.2 has been updated to now validate HTTP headers better to avoid the issue, completely fixing all known issues with whitespace.

Workarounds

There are no work-arounds, upgrading to Waitress 1.4.2 is highly recommended.

References

See https://github.com/Pylons/waitress/security/advisories/GHSA-m5ff-3wj3-8ph4 for more information on the security issue.

For more information

If you have any questions or comments about this advisory:

open an issue at https://github.com/Pylons/waitress/issues (if not sensitive or security related) email the Pylons Security mailing list: pylons-project-security@googlegroups.com (if security related)

Other sources

An HTTP-interpretation flaw was found in waitress, through version 1.4.0. If a proxy server is used in front of waitress, an invalid request may be sent by an attacker that bypasses the front-end and is parsed differently by waitress leading to a potential for HTTP request smuggling. Specially crafted requests containing special whitespace characters in the Transfer-Encoding header would get parsed by waitress as being a chunked request, but a front-end server would use the Content-Length instead as the Transfer-Encoding header is considered invalid due to containing invalid characters. If a front-end server does HTTP pipelining to a backend Waitress server, an HTTP request splitting could occur which may lead to potential cache poisoning or unexpected information disclosure. This issue is fixed in Waitress 1.4.1 through more strict HTTP field validation. The highest threat from this vulnerability is data integrity.

In Waitress through version 1.4.0, if a proxy server is used in front of waitress, an invalid request may be sent by an attacker that bypasses the front-end and is parsed differently by waitress leading to a potential for HTTP request smuggling. Specially crafted requests containing special whitespace characters in the Transfer-Encoding header would get parsed by Waitress as being a chunked request, but a front-end server would use the Content-Length instead as the Transfer-Encoding header is considered invalid due to containing invalid characters. If a front-end server does HTTP pipelining to a backend Waitress server this could lead to HTTP request splitting which may lead to potential cache poisoning or unexpected information disclosure. This issue is fixed in Waitress 1.4.1 through more strict HTTP field validation.

Affected Software

10 affected componentsFixes available
redhat/python-waitress<0:1.4.2-1.el8
0:1.4.2-1.el8
debian/waitress
1.2.0~b2-2+deb10u11.4.4-1.1+deb11u12.1.2-2
redhat/waitress<1.4.1
1.4.1
pip/waitress<1.4.2
1.4.2
Agendaless Waitress<=1.4.0
Oracle Communications Cloud Native Core Network Function Cloud Native Environment=1.10.0
Debian Debian Linux=9.0
Fedoraproject Fedora=30
Fedoraproject Fedora=31
redhat Openstack=15

Event History

Dec 26, 2019
CVE Published
12:00 AM
CVE Published
via MITRE·04:40 PM
Data Sourced
via MITRE·04:40 PM
DescriptionSeverityWeakness
Jan 6, 2020
Advisory Published
06:44 PM

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the vulnerability ID for this issue?

The vulnerability ID for this issue is CVE-2019-16789.

2

What is the impact of this vulnerability?

The impact of this vulnerability is that it allows an attacker to smuggle requests or split a HTTP request with invalid data.

3

What is the severity of CVE-2019-16789?

The severity of CVE-2019-16789 is rated as high with a severity value of 8.2.

4

How can I fix CVE-2019-16789 in Waitress?

To fix CVE-2019-16789 in Waitress, update to version 1.4.2 or higher.

5

Where can I find more information about CVE-2019-16789?

You can find more information about CVE-2019-16789 at the following references: [GitHub Advisory](https://github.com/Pylons/waitress/security/advisories/GHSA-968f-66r5-5v74) and [NVD](https://nvd.nist.gov/vuln/detail/CVE-2019-16789).

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203