CVE-2019-16786
HTTP Request Smuggling: Invalid Transfer-Encoding in Waitress
No known exploitation. EPSS puts it in the 84th percentile. Fixed versions are out.
What to do
Find your product and version, then upgrade to the build on the right.
- Pylons WaitressAffected: ≥ <= 1.3.1, ≤ 1.3.1Upgrade to: after 1.3.1Stated by: CVE record
- PyPI waitressAffected: < 1.4.0Upgrade to: 1.4.0Stated by: GitHub advisory
- Agendaless WaitressAffected: < 1.3.1Upgrade to: 1.3.1Stated by: NVD
- ООО «РусБИТех-Астра» Astra Linux Special EditionAffected: 1.6 «Смоленск»Upgrade to: not statedStated by: BDU
- Сообщество свободного программного обеспечения Debian GNU/LinuxAffected: 10Upgrade to: not statedStated by: BDU
Versions as the sources state them. 2 more products have version data. Full version matrix after sign-in
What it is
From the CVE record
Waitress through version 1.3.1 would parse the Transfer-Encoding header and only look for a single string value, if that value was not chunked it would fall through and use the Content-Length header instead. According to the HTTP standard Transfer-Encoding should be a comma separated list, with the inner-most encoding first, followed by any further transfer codings, ending with chunked. Requests sent with: "Transfer-Encoding: gzip, chunked" would incorrectly get ignored, and the request would use a Content-Length header instead to determine the body size of the HTTP message. This could allow for Waitress to treat a single request as multiple requests in the case of HTTP pipelining. This issue is fixed in Waitress 1.4.0.
In plain language
No plain-language summary for this CVE yet.
Exploitation
Where each signal puts this CVE on the scale from published to confirmed exploited.
- CISA KEV
Not in the catalog. CISA has not confirmed exploitation.
- Public exploits
No public exploit or proof of concept found in the sources we track.
- EPSS
2.4% chance of exploitation activity in the next 30 days, which ranks it in the 84th percentile of scored CVEs.
Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.
Lifecycle
6 events over 2379 days, from the signal feeds we watch.
- OpenVAS check added
- Patch availablerecord updated
- Publishedweakness classified, att&ck mapped
Affected products
And 5 more affected products. See all after sign-in
Technical detail
CVSS 3.1 vector
Open in the CVSS calculatorCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N
Scored 7.1 by NVD.
How it is reached
- Attack Vector NetworkExploitable remotely over the network without any special conditions
- Attack Complexity HighRequires specific conditions like a race condition or non-default configuration
- Privileges Required LowRequires basic user-level privileges
- User Interaction NoneNo user interaction needed — fully automated exploitation
Scope
- Scope ChangedThe exploit can affect other components (e.g. sandbox escape, host compromise from VM)
Impact if exploited
- Confidentiality HighTotal information disclosure — all data in the component is compromised
- Integrity LowData modification is possible but limited in scope or consequence
- Availability NoneNo availability impact
Weaknesses
ATT&CK techniques
Mapped from the weaknesses above (CWE to ATT&CK), not observed in attacks.
Sources
References in the record
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/GVDHR2DNKCNQ7YQXISJ45NT4IQDX3LJ7/
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/LYEOTGWJZVKPRXX2HBNVIYWCX73QYPM5/
- access.redhat.com/errata/RHSA-2020:0720
And 19 more references. See all after sign-in
Watch the software you run.
My Stack ranks new CVEs for your products by real-world exploitation, so the next serious one reaches you without reading every advisory.
We'll flag the next CVE, public exploit or patch for ООО «РусБИТех-Астра», not every advisory.
A free account adds
- The full version matrix and every affected product
- Exploit links, proofs of concept and Metasploit modules
- Email alerts for the products you watch
- The same data over REST API, MCP and CLI