p PatchFirst

CVE-2019-16789

CVE-2019-16789 · HTTP Request Smuggling in Waitress: Invalid whitespace characters in headers

This page contains facts from public vulnerability sources. Check the original advisory before updating.

In Waitress through version 1.4.0, if a proxy server is used in front of waitress, an invalid request may be sent by an attacker that bypasses the front-end and is parsed differently by waitress leading to a potential for HTTP request smuggling. Specially crafted requests containing special whitespace characters in the Transfer-Encoding header would get parsed by Waitress as being a chunked request, but a front-end server would use the Content-Length instead as the Transfer-Encoding header is considered invalid due to containing invalid characters. If a front-end server does HTTP pipelining to a backend Waitress server this could lead to HTTP request splitting which may lead to potential cache poisoning or unexpected information disclosure. This issue is fixed in Waitress 1.4.1 through more strict HTTP field validation.

CVSS 7.1 · High · EPSS 2.6% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • waitress

    Versions
    • ≥ < 1.4.1, < 1.4.1: Affected (custom)

    No fix published

  • waitress Debian:12

    Affected ranges
    • ECOSYSTEM: < 1.4.1-1

    Update to 1.4.1-1

  • waitress Debian:13

    Affected ranges
    • ECOSYSTEM: < 1.4.1-1

    Update to 1.4.1-1

  • waitress Debian:14

    Affected ranges
    • ECOSYSTEM: < 1.4.1-1

    Update to 1.4.1-1

  • waitress PyPI

    Versions
    • 0.1
    • 0.2
    • 0.3
    • 0.4
    • 0.5
    • 0.6
    • 0.6.1
    • 0.7
    • 0.8
    • 0.8.1
    • 0.8.10
    • 0.8.11b0
    • 0.8.2
    • 0.8.3
    • 0.8.4
    • 0.8.5
    • 0.8.6
    • 0.8.7
    • 0.8.8
    • 0.8.9
    • 0.9.0
    • 0.9.0b0
    • 0.9.0b1
    • 1.0.0
    • 1.0.1
    • 1.0.2
    • 1.0a1
    • 1.0a2
    • 1.1.0
    • 1.2.0
    • 1.2.0b1
    • 1.2.0b2
    • 1.2.0b3
    • 1.2.1
    • 1.3.0
    • 1.3.0b0
    • 1.3.1
    • 1.4.0
    • 1.4.1
    Affected ranges
    • ECOSYSTEM: < 1.4.2

    Update to 1.4.2

  • waitress PyPI

    Versions
    • 0.1
    • 0.2
    • 0.3
    • 0.4
    • 0.5
    • 0.6
    • 0.6.1
    • 0.7
    • 0.8
    • 0.8.1
    • 0.8.2
    • 0.8.3
    • 0.8.4
    • 0.8.5
    • 0.8.6
    • 0.8.7
    • 0.8.8
    • 0.8.9
    • 0.8.10
    • 0.8.11b0
    • 0.9.0b0
    • 0.9.0b1
    • 0.9.0
    • 1.0a1
    • 1.0a2
    • 1.0.0
    • 1.0.1
    • 1.0.2
    • 1.1.0
    • 1.2.0b1
    • 1.2.0b2
    • 1.2.0b3
    • 1.2.0
    • 1.2.1
    • 1.3.0b0
    • 1.3.0
    • 1.3.1
    • 1.4.0
    Affected ranges
    • GIT: < 11d9e138125ad46e951027184b13242a3c1de017
    • ECOSYSTEM: < 1.4.1

    Update to 1.4.1

  • waitress Ubuntu:16.04:LTS

    Versions
    • 0.8.9-2ubuntu1
    • 0.8.10-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • waitress Ubuntu:18.04:LTS

    Versions
    • 1.0.1-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →