Every CVE Search/ Get API key

CVE-2020-10108

Improper Input Validation in Twisted

9.8 CriticalFix available

CVE-2020-10108 is a critical vulnerability (CVSS 9.8) in Twisted, published March 12, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 3.97%, the 90th percentile. Fixed in twisted 20.3.0.

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

3.97%Up 2.0 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 9.8

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
CVE-2020-10108
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
7.5 HighAV:N/AC:L/Au:N/C:P/I:P/A:P
Weakness
CWE-444
Updated
2026-11-02
CVE List No score

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
CVE-2020-10108
Updated
2026-11-02
EUVDEUVD-2020-0228 No score

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
EUVD-2020-0228
Updated
2026-11-03
GitHub AdvisoriesGHSA-h96w-mmrf-2h6v 9.3

Improper Input Validation in Twisted

In Twisted Web before 20.3.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
GHSA-h96w-mmrf-2h6v
CVSS 4.0
9.3 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-20, CWE-444
Updated
2026-11-02
OSVALPINE-CVE-2020-10108 9.8

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
ALPINE-CVE-2020-10108
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-03
OSVAZL-6819 9.8

CVE-2020-10108 affecting package python-twisted for versions less than 22.2.0-1

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
AZL-6819
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
Show 14 moreShow less
OSVBELL-CVE-2020-10108 9.8

CVE-2020-10108 does not affect BellSoft software

Record
BELL-CVE-2020-10108
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSV 9.8

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
CVE-2020-10108
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2020-10108 9.8

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
DEBIAN-CVE-2020-10108
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVGHSA-h96w-mmrf-2h6v 9.3

Improper Input Validation in Twisted

In Twisted Web before 20.3.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
GHSA-h96w-mmrf-2h6v
CVSS 4.0
9.3 CriticalCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-20, CWE-444
Updated
2026-11-02
OSVRHSA-2020:1561 7.3

Red Hat Security Advisory: python-twisted-web security update

Record
RHSA-2020:1561
CVSS 3.1
7.3 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVRHSA-2020:1962 7.3

Red Hat Security Advisory: python-twisted-web security update

Record
RHSA-2020:1962
CVSS 3.1
7.3 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2020-10108 9.8

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
UBUNTU-CVE-2020-10108
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVMGASA-2020-0428 No score

Updated python-twisted packages fix security vulnerabilities

Jake Miller and ZeddYu Lu discovered that Twisted incorrectly handled certain content-length headers. A remote attacker could possibly use this issue to perform HTTP request splitting attacks (CVE-2020-10108, CVE-2020-10109).

Record
MGASA-2020-0428
Updated
2026-11-02
OSVopenSUSE-SU-2024:11041-1 No score

matrix-synapse-1.43.0-1.1 on GA media

These are all security issues fixed in the matrix-synapse-1.43.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11041-1
Updated
2026-11-02
OSVPYSEC-2020-259 No score

In Twisted Web through 19.10.0, there was an HTTP request splitting vulnerability. When presented with two content-length headers, it ignored the first header. When the second content-length value was set to zero, the request body was interpreted as a pipelined request.

Record
PYSEC-2020-259
Updated
2026-11-02
OSVSUSE-SU-2022:2811-1 No score

Security update for python-Twisted

This update for python-Twisted fixes the following issues:

  • CVE-2020-10108: Fixed an HTTP request smuggling issue (bsc#1166457).
  • CVE-2020-10109: Fixed an HTTP request smuggling issue (bsc#1166458).
Record
SUSE-SU-2022:2811-1
Updated
2026-11-02
OSVSUSE-SU-2022:4074-1 No score

Security update for python-Twisted

This update for python-Twisted fixes the following issues:

  • CVE-2022-39348: Fixed NameVirtualHost Host header injection (bsc#1204781).
Record
SUSE-SU-2022:4074-1
Updated
2026-11-02
OSVUSN-4308-1 No score

twisted vulnerabilities

it was discovered that Twisted incorrectly validated or sanitized certain URIs or HTTP methods. A remote attacker could use this issue to inject invalid characters and possibly perform header injection attacks. (CVE-2019-12387)

It was discovered that Twisted incorrectly verified XMPP TLS certificates. A remote attacker could possibly use this issue to perform a machine-in-the-middle attack and obtain sensitive information. (CVE-2019-12855)

It was discovered that Twisted incorrectly handled HTTP/2 connections. A remote attacker could possibly use this issue to cause Twisted to hang or consume resources, leading to a denial of service. This issue only affected Ubuntu 18.04 LTS and Ubuntu 19.10. (CVE-2019-9512, CVE-2019-9514, CVE-2019-9515)

Jake Miller and ZeddYu Lu discovered that Twisted incorrectly handled certain content-length headers. A remote attacker could possibly use this issue to perform HTTP request splitting attacks. (CVE-2020-10108, CVE-2020-10109)

Record
USN-4308-1
Updated
2026-11-02
OSVUSN-4308-2 No score

twisted vulnerabilities

USN-4308-1 fixed several vulnerabilities in Twisted. This update provides the corresponding update for Ubuntu 14.04 ESM.

Original advisory details:

it was discovered that Twisted incorrectly validated or sanitized certain URIs or HTTP methods. A remote attacker could use this issue to inject invalid characters and possibly perform header injection attacks. (CVE-2019-12387)

It was discovered that Twisted incorrectly verified XMPP TLS certificates. A remote attacker could possibly use this issue to perform a machine-in-the-middle attack and obtain sensitive information. (CVE-2019-12855)

Jake Miller and ZeddYu Lu discovered that Twisted incorrectly handled certain content-length headers. A remote attacker could possibly use this issue to perform HTTP request splitting attacks. (CVE-2020-10108, CVE-2020-10109)

Record
USN-4308-2
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
twisted
PyPI
before 20.3.0
20.3.0
py3-twisted
Alpine:v3.11
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.12
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.13
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.14
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.15
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.16
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.17
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.18
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.19
before 20.3.0-r0
20.3.0-r0
Show 37 moreShow less
Affected packages
PackageAffectedFixed
py3-twisted
Alpine:v3.20
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.21
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.22
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.23
before 20.3.0-r0
20.3.0-r0
py3-twisted
Alpine:v3.24
before 20.3.0-r0
20.3.0-r0
python-twisted
Azure Linux:2
before 22.2.0-1
22.2.0-1
twisted
Debian:12
before 18.9.0-7
18.9.0-7
twisted
Debian:13
before 18.9.0-7
18.9.0-7
twisted
Debian:14
before 18.9.0-7
18.9.0-7
twisted
Debian:8
before 14.0.2-3+deb8u1, plus listed versions
14.0.2-3
14.0.2-3+deb8u1
twisted
Debian:9
before 16.6.0-2+deb9u1, plus listed versions
16.6.0-2
16.6.0-2+deb9u1
twisted
PyPI
before 20.3.0, plus listed versions
1.0.11.0.31.0.41.0.51.0.6
Show 45 moreShow less
1.0.71.1.01.1.11.2.010.0.010.1.010.2.011.0.011.1.012.0.012.1.012.2.012.3.013.0.013.1.013.2.014.0.014.0.114.0.215.0.015.1.015.2.015.2.115.3.015.4.015.5.016.0.016.1.016.1.116.2.016.3.016.3.116.3.216.4.016.4.116.5.016.5.0rc116.5.0rc216.6.016.6.0rc116.7.0rc116.7.0rc217.1.017.1.0rc117.5.0
20.3.0
python-twisted
Mageia:7
before 19.2.1-1.2.mga7
19.2.1-1.2.mga7
twisted
PyPI
before 20.3.0rc1, plus listed versions
1.0.11.0.31.0.41.0.51.0.6
Show 45 moreShow less
1.0.71.1.01.1.11.2.010.0.010.1.010.2.011.0.011.1.012.0.012.1.012.2.012.3.013.0.013.1.013.2.014.0.014.0.114.0.215.0.015.1.015.2.015.2.115.3.015.4.015.5.016.0.016.1.016.1.116.2.016.3.016.3.116.3.216.4.016.4.116.5.016.5.0rc116.5.0rc216.6.016.6.0rc116.7.0rc116.7.0rc217.1.017.1.0rc117.5.0
20.3.0rc1
python-twisted-web
Red Hat:enterprise_linux:7::client
before 0:12.1.0-7.el7_8
0:12.1.0-7.el7_8
python-twisted-web
Red Hat:enterprise_linux:7::computenode
before 0:12.1.0-7.el7_8
0:12.1.0-7.el7_8
python-twisted-web
Red Hat:enterprise_linux:7::server
before 0:12.1.0-7.el7_8
0:12.1.0-7.el7_8
python-twisted-web
Red Hat:enterprise_linux:7::workstation
before 0:12.1.0-7.el7_8
0:12.1.0-7.el7_8
python-twisted-web
Red Hat:enterprise_linux:6::client
before 0:8.2.0-6.el6_10
0:8.2.0-6.el6_10
python-twisted-web
Red Hat:enterprise_linux:6::server
before 0:8.2.0-6.el6_10
0:8.2.0-6.el6_10
python-twisted-web
Red Hat:enterprise_linux:6::workstation
before 0:8.2.0-6.el6_10
0:8.2.0-6.el6_10
python-Twisted
SUSE:HPE Helion OpenStack 8
before 15.2.1-9.20.1
15.2.1-9.20.1
python-Twisted
SUSE:OpenStack Cloud 8
before 15.2.1-9.20.1
15.2.1-9.20.1
python-Twisted
SUSE:OpenStack Cloud 9
before 15.2.1-9.20.1
15.2.1-9.20.1
python-Twisted
SUSE:OpenStack Cloud Crowbar 8
before 15.2.1-9.20.1
15.2.1-9.20.1
python-Twisted
SUSE:OpenStack Cloud Crowbar 9
before 15.2.1-9.20.1
15.2.1-9.20.1
python-Twisted
SUSE:Linux Enterprise Module for Web and Scripting 12
before 15.2.1-9.20.1
15.2.1-9.20.1
python-Twisted
SUSE:HPE Helion OpenStack 8
before 15.2.1-9.23.1
15.2.1-9.23.1
python-Twisted
SUSE:OpenStack Cloud 8
before 15.2.1-9.23.1
15.2.1-9.23.1
python-Twisted
SUSE:OpenStack Cloud 9
before 15.2.1-9.23.1
15.2.1-9.23.1
python-Twisted
SUSE:OpenStack Cloud Crowbar 8
before 15.2.1-9.23.1
15.2.1-9.23.1
python-Twisted
SUSE:OpenStack Cloud Crowbar 9
before 15.2.1-9.23.1
15.2.1-9.23.1
python-Twisted
SUSE:Linux Enterprise Module for Web and Scripting 12
before 15.2.1-9.23.1
15.2.1-9.23.1
twisted
Ubuntu:Pro:14.04:LTS
before 13.2.0-1ubuntu1.2+esm1, plus listed versions
13.0.0-1ubuntu113.2.0-1ubuntu113.2.0-1ubuntu1.2
13.2.0-1ubuntu1.2+esm1
twisted
Ubuntu:16.04:LTS
before 16.0.0-1ubuntu0.4, plus listed versions
15.2.1-1ubuntu215.5.0-115.5.0-215.5.0-2ubuntu115.5.0-4
Show 6 moreShow less
16.0.0~pre1-116.0.0~pre1-1ubuntu116.0.0~pre1-2ubuntu116.0.0~pre1-316.0.0-116.0.0-1ubuntu0.2
16.0.0-1ubuntu0.4
twisted
Ubuntu:18.04:LTS
before 17.9.0-2ubuntu0.1, plus listed versions
16.6.0-2ubuntu317.9.0-117.9.0-2
17.9.0-2ubuntu0.1
matrix-synapse
openSUSE:Tumbleweed
before 1.43.0-1.1
1.43.0-1.1

History

History
WhenChangedSources
2026-11-03affected, aliases, referencesOSV
2026-11-03aliasesEUVD
2026-11-02createdCVE List, GitHub Advisories, NVD, OSV

References

Show 59 moreShow less
This page doesn't list everything

Left out here: 51 versions. The JSON record has them.

MoveEnter Open