Skip to content

GHSA-cqqj-4p63-rrmm CVE-2019-20444

HTTP Request Smuggling in Netty

Critical Maven
Severity
9.1 / 10
Critical · CVSS 3.1
Exploit chance (EPSS)
8.91%
Chance of exploitation in the next 30 days. Higher than 95.24% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-444 Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
Fix
4.1.44
Upgrade io.netty:netty-codec-http to this version or later

Description

HttpObjectDecoder.java in Netty before 4.1.44 allows an HTTP header that lacks a colon, which might be interpreted as a separate header with an incorrect syntax, or might be interpreted as an "invalid fold."

Affected versions

Maven

PackageVulnerableFixed in
io.netty:netty
all versions
No fix yet
io.netty:netty-codec-http
< 4.1.44
4.1.44
org.jboss.netty:netty
all versions
No fix yet

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

io.netty:netty-codec-http Maven → 4.1.44

maven
<dependency><groupId>io.netty</groupId><artifactId>netty-codec-http</artifactId><version>4.1.44</version></dependency>
gradle
implementation("io.netty:netty-codec-http:4.1.44")

Severity breakdown

CVSS 3.1 9.1

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Weakness

CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination.

How to prevent it
  • Implementation: Use a web server that employs a strict HTTP parsing procedure, such as Apache [REF-433].
  • Implementation: Use only SSL communication.
  • Implementation: Terminate the client session after each request.
  • System Configuration: Turn all pages to non-cacheable.

References

Advisories

Packages

Other links

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-8c42-7qj2-3j46
Netty Vulnerable to Cache Poisoning and Information Disclosure via CORS Vary Header Overwrite
High Also affects io.netty:netty-codec-http
GHSA-gcjf-9mgh-3p7g
Netty: CRLF Injection via Multipart Filename in Netty HttpPostRequestEncoder
Medium Also affects io.netty:netty-codec-http
GHSA-q4f6-jm68-57ww
Netty: [HttpContentEncoder] Unbounded Per-Connection Queue Growth via HTTP/1.1 Pipelining Leads to Denial of Service
High Also affects io.netty:netty-codec-http
GHSA-4mp9-239f-g9hg
Netty: WebSockets V07/V08 handshaker missing Connection/Upgrade validation
High Also affects io.netty:netty-codec-http
GHSA-6cqp-g7gg-8hr5
Netty: Security Control Bypass via CORS Short-Circuit Failure
Medium Also affects io.netty:netty-codec-http
GHSA-jppx-w49h-x2qq
Netty: [SpdyHttpDecoder] ByteBuf Reference Leak on RST_STREAM Leads to Native Memory Exhaustion
High Also affects io.netty:netty-codec-http
GHSA-mvh2-crg5-v77c
Netty SPDY zlib header block continues decoded expansion after maxHeaderSize truncation
High Also affects io.netty:netty-codec-http
GHSA-6jqx-86gh-f27w
Netty SPDY SETTINGS frame count materializes unbounded settings map
High Also affects io.netty:netty-codec-http
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor