CVE Database›Document archive›CVE-2020-10109

CVE-2020-10109

python-twisted: HTTP request smuggling when presented with a Content-Length and a chunked Transfer-Encoding header

Loading…

Severity

Important

Red Hat Product Security

7.3

CVSS 3.1

Review impact separately from score.

Published · March 11, 2020

Updated · June 27, 2026

Description

A flaw was found in python-twisted-web, where it does not correctly process HTTP requests with both Content-Length and Transfer-Encoding headers. When the requests sent from and to the python-twisted-web are processed by another component that correctly processes HTTP requests, for example, a proxy, back-end, or web application firewall, a remote attacker can use this flaw to perform an HTTP request smuggling attack. This flaw impacts the system differently based on the type of application and the infrastructure.

Statement

Although Red Hat OpenStack Platform packages the flawed code, python-twisted's web.HTTP functionality is not used in the RHOSP environment. For this reason, the RHOSP impact has been lowered to moderate and no update will be provided at this time for the RHOSP python-twisted package .

OpenShift Container Platform 4.3 and later includes python-twisted as a dependency of python-prometheus_client in Ironic container images, however the affected code is not used.

Red Hat Satellite uses affected versions of python-twisted and python-twisted-web modules in Pulp, however, it is not vulnerable since http modal of web implementation is not expose in product. Red Hat Satellite may update python-twisted and python-twisted-web in future.

This issue affects the version of python-twisted(embedded in calamari-server) shipped with Red Hat Ceph Storage 2. However, calamari is no longer supported, hence the embedded python-twisted package will not be fixed.

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

When python-twisted-web is used as the back-end of your infrastructure, you can partially mitigate the problem by ensuring that each request on the front-end component (e.g. proxy) is sent over a separate network connection to the python-twisted-web server. This will prevent interference between different users, but it will not prevent all possible attacks that can be performed, which would vary based on the infrastructure and application in use.

CVSS / CWE

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

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