CVE-2021-39214 json
Lacking Protection against HTTP Request Smuggling in mitmproxy
published 2021-09-16 5 y ago modified 2026-07-08 4 mo ago also GHSA-22gh-3r9q-xf38 , PYSEC-2021-328 , EUVD-2021-0135
- cvss
- 8.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.1%
- EPSS 1.1% chance of exploitation in 30 days, percentile 64%
- public exploits
- 0
- none known
Summary
mitmproxy is an interactive, SSL/TLS-capable intercepting proxy. In mitmproxy 7.0.2 and below, a malicious client or server is able to perform HTTP request smuggling attacks through mitmproxy. This means that a malicious client/server could smuggle a request/response through mitmproxy as part of another request/response's HTTP message body. While a smuggled request is still captured as part of another request's body, it does not appear in the request list and does not go through the usual mitmproxy event hooks, where users may have implemented custom access control checks or input sanitization. Unless one uses mitmproxy to protect an HTTP/1 service, no action is required. The vulnerability has been fixed in mitmproxy 7.0.3 and above.
Patch / fix
- pypi mitmproxy 7.0.3
- mitmproxy Debian 14, Debian 12 8.1.1-1
debian advisories DEBIAN-CVE-2021-39214
- python-mitmproxy Package Hub 15 SP5, openSUSE Leap 15.5 3.0.4-bp155.3.3.1
- python-mitmproxy Package Hub 15 SP4, openSUSE Leap 15.4 3.0.4-bp154.2.3.1
opensuse advisories openSUSE-SU-2023:0233-1openSUSE-SU-2023:0232-1
- mitmproxy Alpine 3.24, Alpine 3.23, Alpine 3.22 +1 more 7.0.3-r0
alpine advisories ALPINE-CVE-2021-39214
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- mitmproxy Arch Linux 7.0.3-1
arch linux advisories AVG-2395
Exploit prediction
1.05% chance of exploitation in the next 30 days, higher than 64% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 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 | 8.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | mitmproxy | <7.0.3 |
7.0.3 |
Affected products
- mitmproxy mitmproxy
Classification
- Weakness
-
- CWE-444 Inconsistent Interpretation of HTTP Requests
References
-
github.com
/mitmproxy/mitmproxy/security/advisories/GHSA-22gh-3r9q-xf38
web, third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-39214
advisory
-
github.com
/mitmproxy/mitmproxy
package
-
github.com
/pypa/advisory-database/tree/main/vulns/mitmproxy/PYSEC-2021-328.yaml
web
Sources
- CVE List CVE-2021-39214
- GitHub Advisory GHSA-22gh-3r9q-xf38
- NVD CVE-2021-39214
- OSV PYSEC-2021-328
Fencer Vulns 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.