Netty: HttpContentDecompressor maxAllocation bypass via Content-Encoding: br/zstd/snappy enables decompression bomb DoS
Netty is an asynchronous, event-driven network application framework. Prior to 4.2.13.Final and 4.1.133.Final, HttpContentDecompressor accepts a maxAllocation parameter to limit decompression buffer size and prevent decompression bomb attacks. This limit is correctly enforced for gzip and deflate encodings via ZlibDecoder, but is silently ignored when the content encoding is br (Brotli), zstd, or snappy. An attacker can bypass the configured decompression limit by sending a compressed payload with Content-Encoding: br instead of Content-Encoding: gzip, causing unbounded memory allocation and out-of-memory denial of service. The same vulnerability exists in DelegatingDecompressorFrameListener for HTTP/2 connections. This vulnerability is fixed in 4.2.13.Final and 4.1.133.Final.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-42587
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 15:52 UTC · Revision 1
Source evidence
Netty: HttpContentDecompressor maxAllocation bypass via Content-Encoding: br/zstd/snappy enables decompression bomb DoS
core-osv · Original sourcePublished 13 May 2026, 18:22 UTC
Netty is an asynchronous, event-driven network application framework. Prior to 4.2.13.Final and 4.1.133.Final, HttpContentDecompressor accepts a maxAllocation parameter to limit decompression buffer size and prevent decompression bomb attacks. This limit is correctly enforced for gzip and deflate encodings via ZlibDecoder, but is silently ignored when the content encoding is br (Brotli), zstd, or snappy. An attacker can bypass the configured decompression limit by sending a compressed payload with Content-Encoding: br instead of Content-Encoding: gzip, causing unbounded memory allocation and out-of-memory denial of service. The same vulnerability exists in DelegatingDecompressorFrameListener for HTTP/2 connections. This vulnerability is fixed in 4.2.13.Final and 4.1.133.Final.
osv:CVE-2026-42587
Complete source record
{
"id": "31250701f05cb8c6af4c20aa9424d69516894fc6375959960d1d1452cea5ccf9",
"url": "https://osv.dev/vulnerability/CVE-2026-42587",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Netty: HttpContentDecompressor maxAllocation bypass via Content-Encoding: br/zstd/snappy enables decompression bomb DoS",
"summary": "Netty is an asynchronous, event-driven network application framework. Prior to 4.2.13.Final and 4.1.133.Final, HttpContentDecompressor accepts a maxAllocation parameter to limit decompression buffer size and prevent decompression bomb attacks. This limit is correctly enforced for gzip and deflate encodings via ZlibDecoder, but is silently ignored when the content encoding is br (Brotli), zstd, or snappy. An attacker can bypass the configured decompression limit by sending a compressed payload with Content-Encoding: br instead of Content-Encoding: gzip, causing unbounded memory allocation and out-of-memory denial of service. The same vulnerability exists in DelegatingDecompressorFrameListener for HTTP/2 connections. This vulnerability is fixed in 4.2.13.Final and 4.1.133.Final.",
"evidence": "osv:CVE-2026-42587",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-42587",
"aliases": [
"CVE-2026-42587",
"GHSA-f6hv-jmp6-3vwv"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/netty/netty",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "fb13125f135ab53203513ff603872a3abe84d38d"
},
{
"introduced": "09e64d259c99be8b5b2a471a78f11e65eb82598a"
},
{
"fixed": "b3844c8108b42f68d56144b36d4d1ed96078a688"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "4.1.133"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.2.0"
},
{
"fixed": "4.2.13"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"netty-4.2.12.Final",
"netty-4.1.132.Final",
"netty-4.2.11.Final",
"netty-4.1.131.Final",
"netty-4.2.10.Final",
"netty-4.2.9.Final",
"netty-4.1.130.Final",
"netty-4.2.8.Final",
"netty-4.1.129.Final",
"netty-4.1.128.Final",
"netty-4.2.7.Final",
"netty-4.2.6.Final",
"netty-4.1.127.Final",
"netty-4.2.5.Final",
"netty-4.1.126.Final",
"netty-4.1.125.Final",
"netty-4.2.4.Final",
"netty-4.1.124.Final",
"netty-4.1.123.Final",
"netty-4.2.3.Final",
"netty-4.2.2.Final",
"netty-4.1.122.Final",
"netty-4.2.1.Final",
"netty-4.1.121.Final",
"netty-4.1.120.Final",
"netty-4.2.0.Final",
"netty-4.1.119.Final",
"netty-4.1.118.Final",
"netty-4.1.117.Final",
"netty-4.1.116.Final",
"netty-4.1.115.Final",
"netty-4.1.114.Final",
"netty-4.1.113.Final",
"netty-4.1.112.Final",
"netty-4.1.111.Final",
"netty-4.1.110.Final",
"netty-4.1.109.Final",
"netty-4.1.108.Final",
"netty-4.1.107.Final",
"netty-4.1.106.Final",
"netty-4.1.105.Final",
"netty-4.1.104.Final",
"netty-4.1.103.Final",
"netty-4.1.102.Final",
"netty-4.1.101.Final",
"netty-4.1.100.Final",
"netty-4.1.99.Final",
"netty-4.1.98.Final",
"netty-4.1.97.Final",
"netty-4.1.96.Final",
"netty-4.1.95.Final",
"netty-4.1.94.Final",
"netty-4.1.93.Final",
"netty-4.1.92.Final",
"netty-4.1.91.Final",
"netty-4.1.90.Final",
"netty-4.1.89.Final",
"netty-4.1.88.Final",
"netty-4.1.87.Final",
"netty-4.1.86.Final",
"netty-4.1.85.Final",
"netty-4.1.84.Final",
"netty-4.1.83.Final",
"netty-4.1.82.Final",
"netty-4.1.81.Final",
"netty-4.1.80.Final",
"netty-4.1.79.Final",
"netty-4.1.78.Final",
"netty-4.1.77.Final",
"netty-4.1.76.Final",
"netty-4.1.75.Final",
"netty-4.1.74.Final",
"netty-4.1.73.Final",
"netty-4.1.72.Final",
"netty-4.1.71.Final",
"netty-4.1.70.Final",
"netty-4.1.69.Final",
"netty-4.1.68.Final",
"netty-4.1.67.Final",
"netty-4.1.66.Final",
"netty-4.1.65.Final",
"netty-4.1.64.Final",
"netty-4.1.63.Final",
"netty-4.1.62.Final",
"netty-4.1.61.Final",
"netty-4.1.60.Final",
"netty-4.1.59.Final",
"netty-4.1.58.Final",
"netty-4.1.57.Final",
"netty-4.1.56.Final",
"netty-4.1.55.Final",
"netty-4.1.54.Final",
"netty-4.1.53.Final",
"netty-4.1.52.Final",
"netty-4.1.51.Final",
"netty-4.1.50.Final",
"netty-4.1.49.Final",
"netty-4.1.48.Final",
"netty-4.1.47.Final",
"netty-4.1.46.Final",
"netty-4.1.45.Final",
"netty-4.1.44.Final",
"netty-4.1.43.Final",
"netty-4.1.42.Final",
"netty-4.1.41.Final",
"netty-4.1.40.Final",
"netty-4.1.39.Final",
"netty-4.1.38.Final",
"netty-4.1.37.Final",
"netty-4.1.36.Final",
"netty-4.1.35.Final",
"netty-4.1.34.Final",
"netty-4.1.33.Final",
"netty-4.1.32.Final",
"netty-4.1.31.Final",
"netty-4.1.30.Final",
"netty-4.1.29.Final",
"netty-4.1.28.Final",
"netty-4.1.27.Final",
"netty-4.1.26.Final",
"netty-4.1.25.Final",
"netty-4.1.24.Final",
"netty-4.1.23.Final",
"netty-4.1.22.Final",
"netty-4.1.21.Final",
"netty-4.1.20.Final",
"netty-4.1.19.Final",
"netty-4.1.18.Final",
"netty-4.1.17.Final",
"netty-4.1.16.Final",
"netty-4.1.15.Final",
"netty-4.1.14.Final",
"netty-4.1.13.Final",
"netty-4.1.12.Final",
"netty-4.1.11.Final",
"netty-4.1.10.Final",
"netty-4.1.9.Final",
"netty-4.1.8.Final",
"netty-4.1.7.Final",
"netty-4.1.6.Final",
"netty-4.1.5.Final",
"netty-4.1.4.Final",
"netty-4.1.3.Final",
"netty-4.1.2.Final",
"netty-4.1.1.Final",
"netty-4.1.0.Final",
"netty-4.1.0.CR7",
"netty-4.1.0.CR6",
"netty-4.1.0.CR5",
"netty-4.1.0.CR4",
"netty-4.1.0.CR3",
"netty-4.1.0.CR2",
"netty-4.1.0.CR1",
"netty-4.1.0.Beta8",
"netty-4.1.0.Beta7",
"netty-4.1.0.Beta6",
"netty-4.1.0.Beta5",
"netty-4.1.0.Beta4",
"netty-4.1.0.Beta3",
"netty-4.1.0.Beta2",
"netty-4.1.0.Beta1",
"netty-4.0.15.Final",
"netty-4.0.14.Final",
"netty-4.0.14.Beta1",
"netty-4.0.13.Final",
"netty-4.0.12.Final",
"netty-4.0.11.Final",
"netty-4.0.10.Final",
"netty-4.0.8.Final",
"netty-4.0.7.Final",
"netty-4.0.6.Final",
"netty-4.0.5.Final",
"netty-4.0.4.Final",
"netty-4.0.3.Final",
"netty-4.0.2.Final",
"netty-4.0.1.Final",
"netty-4.0.0.Final",
"netty-4.0.0.CR9",
"netty-4.0.0.CR8",
"netty-4.0.0.CR7",
"netty-4.0.0.CR5",
"netty-4.0.0.CR4",
"netty-4.0.0.CR3",
"netty-4.0.0.CR2",
"netty-4.0.0.CR1",
"netty-4.0.0.Beta3",
"netty-4.0.0.Beta2",
"netty-4.0.0.Beta1",
"netty-4.0.0.Alpha8",
"netty-4.0.0.Alpha7",
"netty-4.0.0.Alpha6",
"netty-4.0.0.Alpha5",
"netty-4.0.0.Alpha4",
"netty-4.0.0.Alpha3",
"netty-4.0.0.Alpha2",
"netty-4.0.0.Alpha1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-42587.json"
}
}
],
"modified": "2026-10-28T02:30:30.186440151Z",
"provider": "osv",
"references": [
"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-42587.json",
"https://access.redhat.com/errata/RHSA-2026:23808",
"https://access.redhat.com/errata/RHSA-2026:24502",
"https://access.redhat.com/errata/RHSA-2026:25123",
"https://access.redhat.com/errata/RHSA-2026:28010",
"https://access.redhat.com/errata/RHSA-2026:34608",
"https://access.redhat.com/errata/RHSA-2026:36820",
"https://access.redhat.com/errata/RHSA-2026:37390",
"https://access.redhat.com/errata/RHSA-2026:41951",
"https://access.redhat.com/errata/RHSA-2026:42644",
"https://access.redhat.com/errata/RHSA-2026:49700",
"https://access.redhat.com/errata/RHSA-2026:49701",
"https://access.redhat.com/errata/RHSA-2026:50085",
"https://access.redhat.com/errata/RHSA-2026:53644",
"https://access.redhat.com/errata/RHSA-2026:53645",
"https://access.redhat.com/errata/RHSA-2026:53646",
"https://access.redhat.com/errata/RHSA-2026:54435",
"https://access.redhat.com/errata/RHSA-2026:65126",
"https://access.redhat.com/errata/RHSA-2026:66488",
"https://access.redhat.com/errata/RHSA-2026:66545",
"https://access.redhat.com/security/cve/CVE-2026-42587",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42587.json",
"https://github.com/netty/netty/security/advisories/GHSA-f6hv-jmp6-3vwv",
"https://nvd.nist.gov/vuln/detail/CVE-2026-42587",
"https://bugzilla.redhat.com/show_bug.cgi?id=2477220"
],
"provider_metadata": {
"cwe_ids": [
"CWE-400"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42587.json"
}
},
"related_cves": [
{
"value": "CVE-2026-42587",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 497020,
"published_at": "2026-05-13T18:22:21.699+00:00"
}