Vulnerabilities in pkg:maven/io.netty/netty-codec-http
PACKAGECVE-2026-59903 is a MODERATE (CVSS 6.5) netty vulnerable to cache poisoning vulnerability (CWE-524: Use of Cache Containing Sensitive Information) affecting Netty codec http libraries in the Maven ecosystem. The issue involves netty vulnerable to cache poisoning and information disclosure via cors vary header overwrite. Remediation is available by upgrading affected packages to version 4.2.17.Final, 4.1.137.Final.
pkg:maven/io.netty/netty-codec-http
Vulnerability advisories affecting package pkg:maven/io.netty/netty-codec-http. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-8c42-7qj2-3j46 | CVE-2026-59903 | MODERATE | Netty Vulnerable to Cache Poisoning and Information Disclosure via CORS Vary Header Overwrite |
| GHSA-gcjf-9mgh-3p7g | CVE-2026-59921 | MODERATE | Netty: CRLF Injection via Multipart Filename in Netty HttpPostRequestEncoder |
| GHSA-q4f6-jm68-57ww | CVE-2026-59899 | MODERATE | Netty: [HttpContentEncoder] Unbounded Per-Connection Queue Growth via HTTP/1.1 Pipelining Leads to Denial of Service |
| GHSA-4mp9-239f-g9hg | CVE-2026-59898 | MODERATE | Netty: WebSockets V07/V08 handshaker missing Connection/Upgrade validation |
| GHSA-6cqp-g7gg-8hr5 | CVE-2026-56746 | MODERATE | Netty: Security Control Bypass via CORS Short-Circuit Failure |
| GHSA-jppx-w49h-x2qq | CVE-2026-56745 | HIGH | Netty: [SpdyHttpDecoder] ByteBuf Reference Leak on RST_STREAM Leads to Native Memory Exhaustion |
| GHSA-mvh2-crg5-v77c | CVE-2026-55833 | HIGH | Netty SPDY zlib header block continues decoded expansion after maxHeaderSize truncation |
| GHSA-6jqx-86gh-f27w | CVE-2026-55831 | HIGH | Netty SPDY SETTINGS frame count materializes unbounded settings map |
| GHSA-hvcg-qmg6-jm4c | CVE-2026-50020 | MODERATE | Netty: HttpObjectDecoder skips arbitrary initial control characters when only initial CRLF characters are permitted |
| GHSA-f6hv-jmp6-3vwv | CVE-2026-42587 | HIGH | Netty: HttpContentDecompressor maxAllocation bypass when Content-Encoding set to br/zstd/snappy leads to decompression bomb DoS |
| GHSA-38f8-5428-x5cv | CVE-2026-42585 | MODERATE | Netty vulnerable to HTTP Request Smuggling due to malformed Transfer-Encoding |
| GHSA-57rv-r2g8-2cj3 | CVE-2026-42584 | HIGH | Netty has HttpClientCodec response desynchronization |
| GHSA-xxqh-mfjm-7mv9 | CVE-2026-42581 | MODERATE | Netty HTTP/1.0 TE+CL Coexistence Bypasses Smuggling Sanitization |
| GHSA-m4cv-j2px-7723 | CVE-2026-42580 | MODERATE | Netty vulnerable to HTTP Request Smuggling due to incorrect chunk size parsing |
| GHSA-v8h7-rr48-vmmv | CVE-2026-41417 | MODERATE | Netty: Start-Line Injection in DefaultHttpRequest.setUri() Allows HTTP Request Smuggling and RTSP Request Injection |
| GHSA-pwqr-wmgm-9rr8 | CVE-2026-33870 | HIGH | Netty: HTTP Request Smuggling via Chunked Extension Quoted-String Parsing |
| GHSA-84h7-rjj3-6jx4 | CVE-2025-67735 | MODERATE | Netty has a CRLF Injection vulnerability in io.netty.handler.codec.http.HttpRequestEncoder |
| GHSA-fghv-69vj-qj49 | CVE-2025-58056 | LOW | Netty vulnerable to request smuggling due to incorrect parsing of chunk extensions |
| GHSA-cqqj-4p63-rrmm | CVE-2019-20444 | CRITICAL | HTTP Request Smuggling in Netty |
| GHSA-5jpm-x58v-624v | CVE-2024-29025 | MODERATE | Netty's HttpPostRequestDecoder can OOM |
| GHSA-wx5j-54mm-rqqq | CVE-2021-43797 | MODERATE | HTTP request smuggling in netty |
| GHSA-hh82-3pmq-7frp | CVE-2022-41915 | MODERATE | Netty vulnerable to HTTP Response splitting from assigning header value iterator |
| GHSA-269q-hmxg-m83q | CVE-2022-24823 | MODERATE | Local Information Disclosure Vulnerability in io.netty:netty-codec-http |
| GHSA-5mcr-gq6c-3hq2 | CVE-2021-21290 | MODERATE | Local Information Disclosure Vulnerability in Netty on Unix-Like systems |
CVE-2026-59903 at a Glance
Security Impact
CVSS: 6.5
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N).
How to Fix CVE-2026-59903
To remediate this vulnerability, upgrade all affected Netty codec http dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
<version>4.2.17.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
<version>4.1.137.Final</version>
</dependency>
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
mvn dependency:tree -Dincludes=io.netty
How to Check if You Are Affected
To determine whether your Java application is affected by CVE-2026-59903, inspect your build dependencies using the Maven Dependency Plugin:
mvn dependency:tree -Dincludes=io.netty
Analyze the terminal output to locate any version of Netty codec http in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 4.2.17.Final), your application is affected.
Note: The mvn dependency:tree -Dincludes=io.netty command inspects the resolved dependency graph declared in your project's POM files; it does not perform automated security scanning or inspect runtime dynamic classpaths. Always verify runtime container classpaths and shaded JARs.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-524: Use of Cache Containing Sensitive Information, where the code uses a cache that contains sensitive information, but the cache can be read by an actor outside of the intended control sphere. In Netty codec http, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-59903 Affected Netty codec http Versions
2 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
io.netty:netty-codec-http
|
Maven |
≥ 4.2.0.Final
< 4.2.17.Final
|
4.2.17.Final
|
|
io.netty:netty-codec-http
|
Maven |
< 4.1.137.Final
|
4.1.137.Final
|
References
Frequently Asked Questions
What is CVE-2026-59903?
Which Netty codec http versions are affected?
What version fixes CVE-2026-59903?
Is netty-codec-http affected?
What is the CVSS score of CVE-2026-59903?
What CWE is associated with CVE-2026-59903?
How can I check Maven dependencies for CVE-2026-59903?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-8c42-7qj2-3j46",
"modified" : "2026-08-17T18:24:26Z",
"published" : "2026-08-17T18:24:26Z",
"aliases" : [ "CVE-2026-59903" ],
"summary" : "Netty Vulnerable to Cache Poisoning and Information Disclosure via CORS Vary Header Overwrite",
"details" : "### Summary\nNetty's `CorsHandler` silently overwrites existing `Vary` headers, enabling cache poisoning and sensitive information disclosure.\n\n### Details\n`io.netty.handler.codec.http.cors.CorsHandler#setVaryHeader` overwrites any existing Vary headers set by backend applications. \n\n```java\n private static void setVaryHeader(final HttpResponse response) {\n response.headers().set(HttpHeaderNames.VARY, HttpHeaderNames.ORIGIN);\n }\n```\n\nBecause `set()` replaces all existing values for the header, if a backend application sets a `Vary` header (such as `Vary: Authorization` or `Vary: Cookie`) to ensure that intermediate caches (like CDNs) cache responses separately per user, the `CorsHandler` will overwrite it with `Vary: origin`. This causes the caching proxy to ignore the authorization context and cache the response based solely on the URL and Origin, allowing an attacker to retrieve another user's cached sensitive data.\n\n### Impact\nThis is a Cache Poisoning vulnerability that leads to Information Disclosure. It impacts any Netty-based web application that uses the CorsHandler, sets its own Vary headers to manage caching of authenticated or user-specific responses (e.g., Vary: Authorization), and is deployed behind a caching proxy or CDN. The end-users of these applications are impacted, as their sensitive data may be leaked to unauthorized actors.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Maven",
"name" : "io.netty:netty-codec-http"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "4.2.0.Final"
}, {
"fixed" : "4.2.17.Final"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 4.2.16.Final"
}
}, {
"package" : {
"ecosystem" : "Maven",
"name" : "io.netty:netty-codec-http"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "4.1.137.Final"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 4.1.136.Final"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/netty/netty/security/advisories/GHSA-8c42-7qj2-3j46"
}, {
"type" : "WEB",
"url" : "https://github.com/netty/netty/pull/17213"
}, {
"type" : "WEB",
"url" : "https://github.com/netty/netty/pull/17217"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/netty/netty"
}, {
"type" : "WEB",
"url" : "https://github.com/netty/netty/releases/tag/netty-4.1.137.Final"
}, {
"type" : "WEB",
"url" : "https://github.com/netty/netty/releases/tag/netty-4.2.17.Final"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-524" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2026-08-17T18:24:26Z",
"nvd_published_at" : null
}
}