Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2019-16786

Опубликовано: 20 дек. 2019
Источник: redhat
CVSS3: 7.1

Описание

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.

An HTTP-interpretation flaw was found in waitress which did not properly validate incoming HTTP headers. When parsing the Transfer-Encoding header, waitress would look only for a single string value. 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'. Because of this flaw, requests sent with: "Transfer-Encoding: gzip, chunked" would get ignored, and waitress would use the Content-Length header instead to determine the body size of the HTTP message. A remote attacker could exploit this flaw to force waitress to accept potentially bad HTTP requests or treat a single request as multiple requests in the case of HTTP pipelining.

Отчет

All affected Red Hat products ship but do not use the flawed version of python-waitress. The impact for these products is therefore rated as having a security impact of Low. In Red Hat OpenStack Platform 13, because the flawed code is not used and the fix would require a substantial amount of development, no update will be provided at this time for the RHOSP13 python-waitress package.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Ceph Storage 3python-waitressAffected
Red Hat Ceph Storage 4python-waitressAffected
Red Hat OpenStack Platform 13 (Queens)python-waitressWill not fix
Red Hat OpenStack Platform 16 (Train)python-waitressAffected
Red Hat OpenStack Platform 15.0 (Stein)python-waitressFixedRHSA-2020:072005.03.2020
Red Hat Quay 3quay/clair-rhel8FixedRHSA-2021:042004.02.2021
Red Hat Quay 3quay/quay-bridge-operator-bundleFixedRHSA-2021:042004.02.2021
Red Hat Quay 3quay/quay-bridge-operator-rhel8FixedRHSA-2021:042004.02.2021
Red Hat Quay 3quay/quay-builder-qemu-rhcos-rhel8FixedRHSA-2021:042004.02.2021
Red Hat Quay 3quay/quay-builder-rhel8FixedRHSA-2021:042004.02.2021

Показывать по

Дополнительная информация

Статус:

Important
Дефект:
CWE-444
https://bugzilla.redhat.com/show_bug.cgi?id=1791415waitress: HTTP request smuggling through invalid Transfer-Encoding

7.1 High

CVSS3

Связанные уязвимости

CVSS3: 7.1
ubuntu
около 6 лет назад

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.

CVSS3: 7.1
nvd
около 6 лет назад

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.

CVSS3: 7.1
debian
около 6 лет назад

Waitress through version 1.3.1 would parse the Transfer-Encoding heade ...

CVSS3: 7.1
github
около 6 лет назад

HTTP Request Smuggling: Invalid Transfer-Encoding in Waitress

CVSS3: 7.5
fstec
около 6 лет назад

Уязвимость WSGI сервера для python Waitress, позволяющая нарушителю оказать воздействие на целостность данных

7.1 High

CVSS3