{"id":"ALPINE-CVE-2019-16786","details":"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.","modified":"2026-11-03T06:32:35.097566241Z","published":"2019-12-20T23:15:11.277Z","upstream":["CVE-2019-16786"],"references":[{"type":"ADVISORY","url":"https://security.alpinelinux.org/vuln/CVE-2019-16786"}],"affected":[{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.11","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.12","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.13","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.14","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.15","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.16","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.17","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.18","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.19","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.20","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.21","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.22","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.23","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}},{"package":{"name":"py3-waitress","ecosystem":"Alpine:v3.24","purl":"pkg:apk/alpine/py3-waitress?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.0-r0"}]}],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2019-16786.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}]}