PYSEC-2019-67 - Waitress through version 1.3.1 would parse the Transfer-Encoding header and only look for a single…

Severity: info · Published 2019-12-20

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.

Technologies: waitress (PyPI). Vendors: PyPI.

Quick answers

Is This vulnerability exploited in the wild?
No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.
How severe is This vulnerability?
Informational severity, published 20 December 2019.
Which products and versions are affected?
waitress (PyPI) GIT:introduced=0,fixed=f11093a6b3240fc26830b6111e826128af7771c3|ECOSYSTEM:introduced=0,fixed=1.3.1.
Is there a fix for This vulnerability?
Yes. waitress (PyPI): upgrade to 1.3.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
Am I affected?
Check whether you run waitress (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • waitress (PyPI): upgrade to 1.3.1 or later
    pip install "waitress>=1.3.1"

Affected products

  • waitress (PyPI) GIT:introduced=0,fixed=f11093a6b3240fc26830b6111e826128af7771c3|ECOSYSTEM:introduced=0,fixed=1.3.1

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.