Skip to content
Fencer Intel
critical 9.8

CVE-2020-10109 json

HTTP Request Smuggling in Twisted

published 2020-03-12 6 y ago modified 2026-06-17 4 mo ago also GHSA-p5xh-vx83-mxcj , PYSEC-2020-260 , EUVD-2020-0229

cvss
9.8
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
3.3%
EPSS 3.3% chance of exploitation in 30 days, percentile 88%
public exploits
0
none known

Summary

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with a content-length and a chunked encoding header, the content-length took precedence and the remainder of the request body was interpreted as a pipelined request.

Patch / fix

  • pypi twisted 20.3.0, 20.3.0rc1
  • twisted Debian 14, Debian 13, Debian 12 18.9.0-7

debian advisories DEBIAN-CVE-2020-10109

  • twisted Ubuntu 16.04 LTS 16.0.0-1ubuntu0.4
  • twisted Ubuntu 18.04 LTS 17.9.0-2ubuntu0.1
  • twisted Ubuntu Pro 14.04 LTS 13.2.0-1ubuntu1.2+esm1

ubuntu advisories UBUNTU-CVE-2020-10109

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • python-twisted-web RHEL 7 12.1.0-7.el7_8

red hat advisories RHSA-2020:1561

  • python-Twisted SLES for SAP 15 SP2, SLES 15 SP2-LTSS, SLES 15 SP2-BCL +10 more 19.10.0-150200.3.15.1
  • python-Twisted SLE Module for Web and Scripting 12, OpenStack Cloud Crowbar 9, OpenStack Cloud Crowbar 8 +3 more 15.2.1-9.20.1

suse advisories SUSE-SU-2022:2822-1SUSE-SU-2022:2811-1

  • matrix-synapse openSUSE Tumbleweed 1.43.0-1.1

opensuse advisories openSUSE-SU-2024:11041-1

  • py3-twisted Alpine 3.24, Alpine 3.23, Alpine 3.22 +11 more 20.3.0-r0

alpine advisories ALPINE-CVE-2020-10109

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • python-twisted CBL-Mariner 2.0 22.2.0-1

azure linux advisories AZL-6820

Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2020-10109 updated cvss 7.3

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

  • Red Hat Ceph Storage 2 calamari-server Red Hat OpenShift Container Platform 4 python3-twisted
    affected: workaround, no fix planned “Will not fix”
  • Red Hat OpenStack Platform 10 (Newton) python-twisted
    affected: workaround, no fix planned “Out of support scope”
  • Red Hat OpenStack Platform 13 (Queens) python-twisted Red Hat OpenStack Platform 16 (Train) python-twisted, python3-twisted Red Hat Satellite 6 python-twisted, python2-twisted, python-twisted-web
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Enterprise Linux Client Optional (v. 7) python-twisted-web 12.1.0-7.el7_8 Red Hat Enterprise Linux ComputeNode Optional (v. 7) python-twisted-web 12.1.0-7.el7_8 Red Hat Enterprise Linux Server Optional (v. 7) python-twisted-web 12.1.0-7.el7_8 Red Hat Enterprise Linux Workstation Optional (v. 7) python-twisted-web 12.1.0-7.el7_8
    fixed: vendor fix RHSA-2020:1561
  • Red Hat Enterprise Linux 6 python-twisted-web
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

Exploit prediction

3.29% chance of exploitation in the next 30 days, higher than 88% of all scored CVEs (FIRST EPSS, 2026-11-09).

Exploits and checks

  • know.bishopfox.com https://know.bishopfox.com/advisories referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
NVD 2.0 7.5 AV:N/AC:L/Au:N/C:P/I:P/A:P
GitHub 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Affected packages

ecosystem package affected fixed in
pypi twisted
<20.3.0
<20.3.0rc1
20.3.0
20.3.0rc1

Classification

Weakness
  • CWE-444 Inconsistent Interpretation of HTTP Requests

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.