Netty: HttpContentDecompressor maxAllocation bypass via Content-Encoding: br/zstd/snappy enables decompression bomb DoS
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 4.2.13.Final, 4.1.133.Final
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: poc
- Automatable: yes
- Technical impact: partial
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: poc · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- netty netty
From 4.2.0.Alpha1 · fixed in 4.2.13.Final; fixed in 4.1.133.Final
- io.netty netty-codec-http
From 4.2.0.Alpha1 · fixed in 4.2.13.Final; fixed in 4.1.133.Final
- io.netty netty-codec-http2
From 4.2.0.Alpha1 · fixed in 4.2.13.Final; fixed in 4.1.133.Final
- io.netty:netty-codec-httpMaven
From 4.2.0.Alpha1 · fixed in 4.2.13.Final
- io.netty:netty-codec-http2Maven
From 4.2.0.Alpha1 · fixed in 4.2.13.Final
- io.netty:netty-codec-httpMaven
fixed in 4.1.133.Final
- io.netty:netty-codec-http2Maven
fixed in 4.1.133.Final