CVE-2019-16786
Published: 20 December 2019
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.
Priority
Status
Package | Release | Status |
---|---|---|
waitress Launchpad, Ubuntu, Debian |
bionic |
Needed
|
disco |
Ignored
(end of life)
|
|
eoan |
Ignored
(end of life)
|
|
focal |
Not vulnerable
(1.4.1-1)
|
|
groovy |
Not vulnerable
(1.4.1-1)
|
|
hirsute |
Not vulnerable
(1.4.1-1)
|
|
impish |
Not vulnerable
(1.4.1-1)
|
|
jammy |
Not vulnerable
(1.4.1-1)
|
|
kinetic |
Not vulnerable
(1.4.1-1)
|
|
lunar |
Not vulnerable
(1.4.1-1)
|
|
mantic |
Not vulnerable
(1.4.1-1)
|
|
noble |
Not vulnerable
(1.4.1-1)
|
|
trusty |
Does not exist
|
|
upstream |
Released
(1.4.0)
|
|
xenial |
Needed
|
|
Patches: upstream: https://github.com/Pylons/waitress/commit/f11093a6b3240fc26830b6111e826128af7771c3 |
Severity score breakdown
Parameter | Value |
---|---|
Base score | 7.5 |
Attack vector | Network |
Attack complexity | Low |
Privileges required | None |
User interaction | None |
Scope | Unchanged |
Confidentiality | None |
Integrity impact | High |
Availability impact | None |
Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |