Skip to content
Fencer Vulns
high 7.5

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

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 netty
    +5 more products
    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
    affected: 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 OpenShift Application Runtimes netty-all
    affected: 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-elasticsearch5
    affected: 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 Preview
    fixed: 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 AMQ
    fixed: 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.3
    fixed: 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 more
    fixed: 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 GA
    fixed: 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 more
  • Red Hat AMQ Streams 1
    fixed: 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.6
    fixed: 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 7
    fixed: 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.0
    fixed: 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.2
    fixed: 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 more
    fixed: 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 more
    fixed: 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 more
    fixed: 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 7
    fixed: 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 more
    fixed: 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.3
    fixed: 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 RHOAR
    fixed: 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) opendaylight
    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.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

Sources

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.