CVE-2020-7238 json
HTTP Request Smuggling in Netty
published 2020-01-27 6 y ago modified 2026-06-17 4 mo ago also GHSA-ff2w-cq2g-wv5f , EUVD-2020-0303
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 3.6%
- EPSS 3.6% chance of exploitation in 30 days, percentile 89%
- public exploits
- 0
- none known
Summary
Netty 4.1.43.Final allows HTTP Request Smuggling because it mishandles Transfer-Encoding whitespace (such as a [space]Transfer-Encoding:chunked line) and a later Content-Length header. This issue exists because of an incomplete fix for CVE-2019-16869.
Patch / fix
- maven io.netty:netty-handler 4.1.45
- netty Debian 14, Debian 13, Debian 12 1:4.1.45-1
debian advisories DEBIAN-CVE-2020-7238
- netty-3.9 Ubuntu 16.04 LTS 3.9.0.Final-1ubuntu0.1
- netty Ubuntu Pro 14.04 LTS 1:3.2.6.Final-2+deb8u2build0.14.04.1~esm1
ubuntu advisories UBUNTU-CVE-2020-7238
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
- tfm satellite capsule 6.8, satellite 6.8 6.1-1.el7sat
- kobo satellite capsule 6.8, satellite 6.8 0.5.1-1.el7sat
- pulp satellite capsule 6.8, satellite 6.8 2.21.3-1.el7sat
- gofer satellite capsule 6.8, satellite 6.8 2.12.5-7.el7sat
- future satellite capsule 6.8, satellite 6.8 0.16.0-11.el7sat
- ostree satellite capsule 6.8, satellite 6.8 2017.1-2.atomic.el7
- foreman satellite capsule 6.8, satellite 6.8 2.1.2.19-1.el7sat
- katello satellite capsule 6.8, satellite 6.8 3.16.0-1.el7sat
red hat advisories RHSA-2024:10208RHSA-2020:4366RHSA-2020:0806RHSA-2020:0805RHSA-2020:0804RHSA-2020:0601
- github.com/netty/netty#9865 pull request
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-7238 updated cvss 7.5
netty: HTTP Request Smuggling due to Transfer-Encoding whitespace mishandling
-
Red Hat BPM Suite 6 netty netty Red Hat Enterprise MRG 3 netty-all Red Hat JBoss A-MQ 6 netty netty Red Hat JBoss BRMS 6 netty netty Red Hat JBoss Data Virtualization 6 netty netty Red Hat JBoss Enterprise Application Platform 5 netty nettyaffected: workaround, no fix planned “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings”
+5 more productsfewer
Red Hat JBoss Enterprise Application Platform 6 netty netty Red Hat JBoss Fuse 6 netty netty Red Hat JBoss Fuse Service Works 6 netty netty Red Hat JBoss Operations Network 3 netty netty Red Hat JBoss SOA Platform 5 netty netty -
Red Hat OpenShift Application Runtimes netty-allaffected: workaround, no fix available “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings”
-
Red Hat OpenShift Container Platform 3.11 openshift3/ose-logging-elasticsearch5 Red Hat OpenShift Container Platform 4 openshift4/ose-logging-elasticsearch5affected: workaround, no fix planned “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings”
-
Red Hat EAP-CD 19 Tech Previewfixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:2333
-
Red Hat AMQfixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:0922
-
Red Hat AMQ 7.4.3fixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:1445
-
Red Hat AMQ Clients 2 nodejs-rhea 1.0.16-1.el8, qpid-proton 0.30.0-2.el7, qpid-proton 0.30.0-3.el8, qpid-proton-c 0.30.0-2.el7, qpid-proton-c 0.30.0-3.el8, qpid-proton 0.30.0-4.el6_10, +12 morefixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:0601
-
Red Hat AMQ Online 1.3.3 GAfixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:0497
show 13 moreshow fewer
-
Red Hat AMQ Streams 1fixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:0939
-
Red Hat Data Grid 7.3.6fixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:2321
-
Red Hat Decision Manager 7fixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:3196
-
Red Hat Fuse 7.7.0fixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:3192
-
Red Hat JBoss EAP 7.2fixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:0606
-
Red Hat JBoss EAP 7.2 for RHEL 6 Server eap7-thrift 0.13.0-1.redhat_00002.1.el6eap, eap7-txw2 2.3.3-4.b02_redhat_00001.1.el6eap, eap7-xsom 2.3.3-4.b02_redhat_00001.1.el6eap, eap7-rngom 2.3.3-4.b02_redhat_00001.1.el6eap, eap7-stax2-api 4.2.0-1.redhat_00001.1.el6eap, eap7-wildfly 7.2.7-4.GA_redhat_00004.1.el6eap, +100 morefixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:0804
-
Red Hat JBoss EAP 7.2 for RHEL 7 Server eap7-thrift 0.13.0-1.redhat_00002.1.el7eap, eap7-txw2 2.3.3-4.b02_redhat_00001.1.el7eap, eap7-xsom 2.3.3-4.b02_redhat_00001.1.el7eap, eap7-rngom 2.3.3-4.b02_redhat_00001.1.el7eap, eap7-stax2-api 4.2.0-1.redhat_00001.1.el7eap, eap7-wildfly 7.2.7-4.GA_redhat_00004.1.el7eap, +102 more Red Hat JBoss EAP 7.2 for RHEL 8 eap7-thrift 0.13.0-1.redhat_00002.1.el8eap, eap7-txw2 2.3.3-4.b02_redhat_00001.1.el8eap, eap7-xsom 2.3.3-4.b02_redhat_00001.1.el8eap, eap7-rngom 2.3.3-4.b02_redhat_00001.1.el8eap, eap7-stax2-api 4.2.0-1.redhat_00001.1.el8eap, eap7-wildfly 7.2.7-4.GA_redhat_00004.1.el8eap, +100 morefixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:0605
-
Red Hat JBoss Enterprise Application Platform 7.1 EUS for RHEL 7 Server eap7-avro 1.7.6-2.redhat_00003.1.ep7.el7, eap7-xalan-j2 2.7.1-26.redhat_00015.1.ep7.el7, eap7-wildfly 7.1.8-2.GA_redhat_00002.1.ep7.el7, eap7-h2database 1.4.197-2.redhat_00005.1.ep7.el7, eap7-bouncycastle 1.68.0-1.redhat_00005.1.ep7.el7, eap7-apache-cxf 3.1.16-3.SP1_redhat_00001.1.ep7.el7, +11 morefixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2024:10208
-
Red Hat Process Automation 7fixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:3197
-
Red Hat Satellite 6.8 tfm 6.1-1.el7sat, kobo 0.5.1-1.el7sat, pulp 2.21.3-1.el7sat, gofer 2.12.5-7.el7sat, receptor 0.6.3-1.el7ar, future 0.16.0-11.el7sat, +488 more Red Hat Satellite Capsule 6.8 tfm 6.1-1.el7sat, kobo 0.5.1-1.el7sat, pulp 2.21.3-1.el7sat, gofer 2.12.5-7.el7sat, future 0.16.0-11.el7sat, katello 3.16.0-1.el7sat, +232 morefixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:4366
-
Red Hat Single Sign-On 7.3fixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:0951
-
Red Hat Text-Only RHOARfixed: vendor fix “* Use HTTP/2 instead (clear boundaries between requests) * Disable reuse of backend connections eg. ```http-reuse never``` in HAProxy or whatever equivalent LB settings” RHSA-2020:0567
-
Red Hat OpenStack Platform 10 (Newton) opendaylight Red Hat OpenStack Platform 13 (Queens) opendaylightnot 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.65% chance of exploitation in the next 30 days, higher than 89% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/jdordonezn/CVE-2020-72381/issues/1 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:P/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | io.netty:netty-handler | >=4.1.43, <4.1.45 |
4.1.45 |
Classification
- Weakness
-
- CWE-444 Inconsistent Interpretation of HTTP Requests
References
-
github.com
/netty/netty/pull/9865
web
-
github.com
/jdordonezn/CVE-2020-72381/issues/1
web, exploit, third-party-advisory
-
access.redhat.com
/errata/RHSA-2020:0497
vendor-advisory, web, third-party-advisory
-
access.redhat.com
/errata/RHSA-2020:0601
vendor-advisory, web, third-party-advisory
-
access.redhat.com
/errata/RHSA-2020:0606
vendor-advisory, web, third-party-advisory
-
access.redhat.com
/errata/RHSA-2020:0605
vendor-advisory, web, third-party-advisory
-
access.redhat.com
/errata/RHSA-2020:0567
vendor-advisory, web, third-party-advisory
-
access.redhat.com
/errata/RHSA-2020:0806
vendor-advisory, web, third-party-advisory
-
access.redhat.com
/errata/RHSA-2020:0811
vendor-advisory, web, third-party-advisory
-
access.redhat.com
/errata/RHSA-2020:0804
vendor-advisory, web, third-party-advisory
-
access.redhat.com
/errata/RHSA-2020:0805
vendor-advisory, web, third-party-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/TS6VX7OMXPDJIU5LRGUAHRK6MENAVJ46/
vendor-advisory
-
debian.org
/security/2021/dsa-4885
vendor-advisory, web, third-party-advisory
-
netty.io
/news/
vendor-advisory
-
lists.debian.org
/debian-lts-announce/2020/02/msg00017.html
mailing-list, web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/02/msg00018.html
mailing-list, web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/09/msg00003.html
mailing-list, web, third-party-advisory
-
lists.apache.org
/thread.html/rc8d554aad889d12b140d9fd7d2d6fc2e8716e9792f6f4e4b2cdc2d05%40%3Ccommits.cassandra.apache.org%3E
mailing-list
-
lists.apache.org
/thread.html/r131e572d003914843552fa45c4398b9903fb74144986e8b107c0a3a7%40%3Ccommits.cassandra.apache.org%3E
mailing-list
-
nvd.nist.gov
/vuln/detail/CVE-2020-7238
advisory
-
github.com
/netty/netty/issues/9861
web
-
netty.io
/news
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/TS6VX7OMXPDJIU5LRGUAHRK6MENAVJ46
web
-
lists.apache.org
/thread.html/rc8d554aad889d12b140d9fd7d2d6fc2e8716e9792f6f4e4b2cdc2d05@%3Ccommits.cassandra.apache.org%3E
web
-
lists.apache.org
/thread.html/r131e572d003914843552fa45c4398b9903fb74144986e8b107c0a3a7@%3Ccommits.cassandra.apache.org%3E
web
Sources
- CVE List CVE-2020-7238
- GitHub Advisory GHSA-ff2w-cq2g-wv5f
- NVD CVE-2020-7238
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.