Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. waitress
  4. ›
  5. CVE-2019-16785

CVE-2019-16785: HTTP Request Smuggling: LF vs CRLF handling in Waitress

December 20, 2019 (updated November 19, 2024)

Waitress implemented a "MAY" part of the RFC7230 (https://tools.ietf.org/html/rfc7230#section-3.5) which states:

Although the line terminator for the start-line and header fields is the sequence CRLF, a recipient MAY recognize a single LF as a line terminator and ignore any preceding CR.

Unfortunately if a front-end server does not parse header fields with an LF the same way as it does those with a CRLF it can lead to the front-end and the back-end server parsing the same HTTP message in two different ways. This can lead to a potential for HTTP request smuggling/splitting whereby Waitress may see two requests while the front-end server only sees a single HTTP message.

Example:

Content-Length: 100[CRLF]
X-Header: x[LF]Content-Length: 0[CRLF]

Would get treated by Waitress as if it were:

Content-Length: 100
X-Header: x
Content-Length: 0

This could potentially get used by attackers to split the HTTP request and smuggle a second request in the body of the first.

References

  • access.redhat.com/errata/RHSA-2020:0720
  • docs.pylonsproject.org/projects/waitress/en/latest/
  • github.com/Pylons/waitress
  • github.com/Pylons/waitress/commit/8eba394ad75deaf9e5cd15b78a3d16b12e6b0eba
  • github.com/Pylons/waitress/security/advisories/GHSA-pg36-wpm5-g57p
  • github.com/advisories/GHSA-pg36-wpm5-g57p
  • github.com/pypa/advisory-database/tree/main/vulns/waitress/PYSEC-2019-136.yaml
  • lists.debian.org/debian-lts-announce/2022/05/msg00011.html
  • lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/GVDHR2DNKCNQ7YQXISJ45NT4IQDX3LJ7
  • lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/LYEOTGWJZVKPRXX2HBNVIYWCX73QYPM5
  • nvd.nist.gov/vuln/detail/CVE-2019-16785
  • www.oracle.com/security-alerts/cpuapr2022.html

Code Behaviors & Features

Detect and mitigate CVE-2019-16785 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 1.4.0

Fixed versions

  • 1.4.0

Solution

Upgrade to version 1.4.0 or above.

Impact 7.5 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

Source file

pypi/waitress/CVE-2019-16785.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:16 +0000.