Skip to content
Fencer Intel
critical 9.1

CVE-2019-20445 in the critical feed json

HTTP Request Smuggling in Netty

published 6y ago modified last mo. also GHSA-p2v9-g2qv-p635 , EUVD-2020-0308

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

Summary

HttpObjectDecoder.java in Netty before 4.1.44 allows a Content-Length header to be accompanied by a second Content-Length header, or by a Transfer-Encoding header.

Patch / fix

  • maven io.netty:netty-handler 4.1.45
  • netty netty 4.1.44
  • netty Debian 14, Debian 13, Debian 12 1:4.1.45-1

debian advisories DEBIAN-CVE-2019-20445

  • netty Ubuntu 18.04 LTS 1:4.1.7-4ubuntu0.1
  • netty-3.9 Ubuntu 16.04 LTS 3.9.0.Final-1ubuntu0.1
  • netty-3.9 Ubuntu 18.04 LTS 3.9.9.Final-1+deb9u1build0.18.04.1
  • netty Ubuntu Pro 14.04 LTS 1:3.2.6.Final-2+deb8u2build0.14.04.1~esm1

ubuntu advisories UBUNTU-CVE-2019-20445

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

  • eap7-txw2 jboss enterprise application platform 7.2 2.3.3-4.b02_redhat_00001.1.el8eap
  • eap7-xsom jboss enterprise application platform 7.2 2.3.3-4.b02_redhat_00001.1.el8eap
  • eap7-rngom jboss enterprise application platform 7.2 2.3.3-4.b02_redhat_00001.1.el8eap
  • eap7-thrift jboss enterprise application platform 7.2 0.13.0-1.redhat_00002.1.el8eap
  • eap7-wildfly jboss enterprise application platform 7.2 7.2.7-4.GA_redhat_00004.1.el8eap
  • eap7-jaxb-jxc jboss enterprise application platform 7.2 2.3.3-4.b02_redhat_00001.1.el8eap
  • eap7-jaxb-xjc jboss enterprise application platform 7.2 2.3.3-4.b02_redhat_00001.1.el8eap
  • eap7-codemodel jboss enterprise application platform 7.2 2.3.3-4.b02_redhat_00001.1.el8eap

red hat advisories RHSA-2024:5856RHSA-2020:0806RHSA-2020:0805RHSA-2020:0804RHSA-2020:0601RHSA-2020:0605

Is CVE-2019-20445 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

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-2019-20445 updated cvss 7.5

netty: HttpObjectDecoder.java allows Content-Length header to accompanied by second Content-Length header

  • Red Hat JBoss A-MQ 6 netty netty Red Hat JBoss Enterprise Application Platform 5 netty netty Red Hat JBoss Enterprise Application Platform 6 netty netty Red Hat JBoss Fuse 6 netty netty Red Hat JBoss Operations Network 3 netty netty Red Hat OpenShift Container Platform 3.11 openshift3/ose-logging-elasticsearch5
    +2 more products
    Red Hat OpenShift Container Platform 4 openshift4/ose-logging-elasticsearch5 Red Hat Satellite 6 candlepin, candlepin-selinux
    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
  • 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
show 11 more
  • 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 Fuse 7.9
    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-2021:3140
  • 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-netty 4.1.45-1.Final_redhat_00001.1.ep7.el7, eap7-netty-all 4.1.45-1.Final_redhat_00001.1.ep7.el7
    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:5856
  • 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 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 JBoss Enterprise Application Platform 7.1 EUS for RHEL 7 Server eap7-wildfly 7.1.7-2.GA_redhat_00002.1.ep7.el7, eap7-infinispan 8.2.11-1.SP2_redhat_00001.1.ep7.el7, eap7-undertow 1.4.18-12.SP12_redhat_00001.1.ep7.el7, eap7-wildfly-modules 7.1.7-2.GA_redhat_00002.1.ep7.el7, eap7-jackson-databind 2.8.11.5-1.redhat_00001.1.ep7.el7, eap7-infinispan-core 8.2.11-1.SP2_redhat_00001.1.ep7.el7, +7 more
    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

CISA SSVC

Exploitation
none
Automatable
yes
Technical impact
total
Assessed
last mo.

Exploit prediction

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

Exploits and checks

  • github.com https://github.com/netty/netty/issues/9861 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

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

Affected packages

ecosystem package affected fixed in
maven io.netty:netty-handler
>=4.0.0, <4.1.45
4.1.45
maven org.jboss.netty:netty
all versions
no fix listed
maven io.netty:netty
all versions
no fix listed

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.