{"id":"CVE-2019-16786","published":"2019-12-20T23:00:20Z","modified":"2024-08-05T01:24:48Z","title":"HTTP Request Smuggling: Invalid Transfer-Encoding in Waitress","vendor":"Pylons","product":"Waitress","tier":"tail","description":{"text":"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.","provenance":"source","from":"CVE.org"},"cvss":{"score":7.1,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.02379,"percentile":0.8389,"provenance":"source"},"cwes":[{"id":"CWE-444","name":"Inconsistent Interpretation of HTTP Requests"}],"references":[{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/GVDHR2DNKCNQ7YQXISJ45NT4IQDX3LJ7/","tags":["vendor-advisory","x_refsource_FEDORA"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/LYEOTGWJZVKPRXX2HBNVIYWCX73QYPM5/","tags":["vendor-advisory","x_refsource_FEDORA"]},{"url":"https://access.redhat.com/errata/RHSA-2020:0720","tags":["vendor-advisory","x_refsource_REDHAT"]},{"url":"https://www.oracle.com/security-alerts/cpuapr2022.html","tags":["x_refsource_MISC"]},{"url":"https://docs.pylonsproject.org/projects/waitress/en/latest/#security-fixes","tags":["x_refsource_MISC"]},{"url":"https://github.com/Pylons/waitress/security/advisories/GHSA-g2xc-35jw-c63p","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/Pylons/waitress/commit/f11093a6b3240fc26830b6111e826128af7771c3","tags":["x_refsource_MISC"]},{"url":"https://lists.debian.org/debian-lts-announce/2022/05/msg00011.html","tags":["mailing-list","x_refsource_MLIST"]}],"priority":{"score":21.7,"factors":[{"name":"EPSS percentile","points":16.78},{"name":"CVSS severity","points":4.97}]},"vendorSlug":"pylons","affectedVersions":[{"vendor":"Pylons","product":"Waitress","versions":[">= <= 1.3.1, <= 1.3.1"]}],"affected":[{"ecosystem":"PyPI","package":"waitress","vulnerableRanges":["<1.4.0","<1.3.1"],"patched":["1.4.0","1.3.1"],"from":["GHSA-g2xc-35jw-c63p","PYSEC-2019-137"],"provenance":"source"}],"euvd":{"id":"EUVD-2019-0157","exploited":false,"provenance":"source"},"lineage":{"packageHistory":[{"cve":"CVE-2019-16785","published":"2019-12-20","fixed":"1.4.0","kev":false,"link":{"from":"CVE-2019-16786","to":"CVE-2019-16785","relation":"successor","confidence":"low","kind":"sequence","orderedBy":"description","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:waitress","fromFixed":"1.3.1","toFixed":"1.4.0","daysApart":0}]}},{"cve":"CVE-2019-16786","published":"2019-12-20","fixed":"1.4.0","kev":false},{"cve":"CVE-2019-16792","published":"2020-01-22","fixed":"1.4.0","kev":false,"link":{"from":"CVE-2019-16786","to":"CVE-2019-16792","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:waitress","fromFixed":"1.3.1","toFixed":"1.4.0","daysApart":33}]}},{"cve":"CVE-2019-16789","published":"2019-12-26","fixed":"1.4.2","kev":false,"link":{"from":"CVE-2019-16786","to":"CVE-2019-16789","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"PyPI:waitress","fromFixed":"1.4.0","toFixed":"1.4.2","daysApart":6}]}},{"cve":"CVE-2020-5236","published":"2020-02-04","fixed":"1.4.3","kev":false}],"package":"PyPI:waitress"}}