CVE-2019-16792 json
HTTP Request Smuggling: Content-Length Sent Twice in Waitress
published 2019-12-20 6 y ago modified 2026-07-08 4 mo ago also GHSA-4ppp-gpcr-7qf6 , GHSA-j7j6-7hfx-5522 , PYSEC-2020-178 , EUVD-2020-0239
- cvss
- 7.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.0%
- EPSS 2.0% chance of exploitation in 30 days, percentile 80%
- public exploits
- 0
- none known
Summary
Waitress through version 1.3.1 allows request smuggling by sending the Content-Length header twice. Waitress would header fold a double Content-Length header and due to being unable to cast the now comma separated value to an integer would set the Content-Length to 0 internally. If two Content-Length headers are sent in a single request, Waitress would treat the request as having no body, thereby treating the body of the request as a new request in HTTP pipelining. This issue is fixed in Waitress 1.4.0.
Patch / fix
- pypi waitress 1.4.0
- waitress Debian 14, Debian 13, Debian 12 1.4.1-1
debian advisories DEBIAN-CVE-2019-16792
- python-waitress SLE Module for Package Hub 15 SP2, SLE Module for Package Hub 15 SP1, SLE Module for Basesystem 15 SP2 +6 more 1.4.3-3.3.1
- kibana OpenStack Cloud Crowbar 9, OpenStack Cloud 9 4.6.3-4.3.2
- grafana OpenStack Cloud Crowbar 9, OpenStack Cloud 9 6.2.5-3.12.2
- ansible1 OpenStack Cloud 9 1.9.6-9.7.2
- ardana-mq OpenStack Cloud 9 9.0+git.1593618110.cbd1a37-3.16.2
- crowbar-core OpenStack Cloud Crowbar 9 6.0+git.1594619891.b75a61d0d-3.25.5
- rubygem-puma OpenStack Cloud Crowbar 9 2.16.0-4.9.1
- ardana-glance OpenStack Cloud 9 9.0+git.1593631708.9354a78-3.13.2
suse advisories SUSE-SU-2020:3292-1SUSE-SU-2020:3269-1SUSE-RU-2020:2161-1SUSE-RU-2020:2072-1SUSE-SU-2020:1901-1
- python-waitress openSUSE Leap 15.1 1.4.3-lp151.3.3.1
- python-waitress openSUSE Leap 15.2 1.4.3-lp152.4.3.1
opensuse advisories openSUSE-SU-2020:1922-1openSUSE-SU-2020:1911-1
Exploit prediction
1.98% chance of exploitation in the next 30 days, higher than 80% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.1 | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:P/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | waitress | <1.4.0 |
1.4.0 |
Affected products
- Pylons Waitress
Classification
- Weakness
-
- CWE-444 Inconsistent Interpretation of HTTP Requests
References
-
github.com
/Pylons/waitress/commit/575994cd42e83fd772a5f7ec98b2c56751bd3f65
web, patch
-
oracle.com
/security-alerts/cpuapr2022.html
web, patch, third-party-advisory
-
docs.pylonsproject.org
/projects/waitress/en/latest/#security-fixes
web, release-notes
-
github.com
/Pylons/waitress/security/advisories/GHSA-4ppp-gpcr-7qf6
web, third-party-advisory, advisory
-
lists.debian.org
/debian-lts-announce/2022/05/msg00011.html
mailing-list, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2019-16792
advisory
-
github.com
/Pylons/waitress
package
-
github.com
/pypa/advisory-database/tree/main/vulns/waitress/PYSEC-2020-178.yaml
web
-
github.com
/advisories/GHSA-j7j6-7hfx-5522
advisory
Sources
- CVE List CVE-2019-16792
- GitHub Advisory GHSA-4ppp-gpcr-7qf6
- GitHub Advisory GHSA-j7j6-7hfx-5522
- NVD CVE-2019-16792
- OSV PYSEC-2020-178
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.