CVE Database›CVE-2020-10108

CVE-2020-10108

python-twisted: HTTP request smuggling when presented with two Content-Length headers

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, accepting requests with more than one Content-Length header. 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

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 OpenStack Platform packages the flawed code, however 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.

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')