Every CVE Search/ Get API key

CVE-2026-53659

http4k: Unbounded gzip decompression in `ServerFilters.GZip` / `RequestFilters.GunZip` allowed memory-exhaustion DoS

7.5 HighFix available

http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.49.0.0, ServerFilters.GZip, RequestFilters.GunZip, and the underlying Gzip request-body decompression functions impose no limit on decompressed size. An unauthenticated client can send a small gzip-encoded request body that expands to gigabytes, exhausting the JVM heap and denying service to other clients. The fix uses SizeLimitedInputStream to enforce a default 10 MiB limit, causes ServerFilters.GZip and RequestFilters.GunZip to return 413 Request Entity Too Large, and causes other decompression paths to throw SizeLimitExceededException. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.49.0.0.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.63%Up 0.2 points since Sep 15, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

http4k: Unbounded gzip decompression in `ServerFilters.GZip` / `RequestFilters.GunZip` allowed memory-exhaustion DoS

http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.49.0.0, ServerFilters.GZip, RequestFilters.GunZip, and the underlying Gzip request-body decompression functions impose no limit on decompressed size. An unauthenticated client can send a small gzip-encoded request body that expands to gigabytes, exhausting the JVM heap and denying service to other clients. The fix uses SizeLimitedInputStream to enforce a default 10 MiB limit, causes ServerFilters.GZip and RequestFilters.GunZip to return 413 Request Entity Too Large, and causes other decompression paths to throw SizeLimitExceededException. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.49.0.0.

Record
CVE-2026-53659
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-409
Updated
2026-11-02
EUVDEUVD-2026-77694 7.5

http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.49.0.0, ServerFilters.GZip, RequestFilters.GunZip, and the underlying Gzip request-body decompression functions impose no limit on decompressed size. An unauthenticated client can send a small gzip-encoded request body that expands to gigabytes, exhausting the JVM heap and denying service to other clients. The fix uses SizeLimitedInputStream to enforce a default 10 MiB limit, causes ServerFilters.GZip and RequestFilters.GunZip to return 413 Request Entity Too Large, and causes other decompression paths to throw SizeLimitExceededException. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.49.0.0.

Record
EUVD-2026-77694
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-g4w2-6h2r-3m3w 7.5

http4k: Unbounded gzip decompression in `ServerFilters.GZip` / `RequestFilters.GunZip` allowed memory-exhaustion DoS

Impact

ServerFilters.GZip and RequestFilters.GunZip (and the underlying Gzip functions used to decompress request bodies) did not impose any cap on the decompressed size. A small malicious gzip-encoded request body (on the order of kilobytes) could decompress to gigabytes, exhausting the JVM heap and denying service to other clients.

Who is affected: any http4k server that accepts gzip-encoded requests via ServerFilters.GZip or RequestFilters.GunZip. Exploitable by any unauthenticated client. The vulnerability was introduced on 2017-08-01 (commit 2618fe08f9) and was present for ~9 years.

Patches

| Line | Fixed in | Edition | |------|----------|---------| | v6.x (Community) | 6.49.0.0 | Community | | v5.x (LTS) | 5.42.0.0 | Enterprise — contact [email protected] | | v4.x (LTS) | 4.51.0.0 | Enterprise — contact [email protected] |

The fix caps decompression at 10MB by default; oversized requests through ServerFilters.GZip / RequestFilters.GunZip now return 413 Request Entity Too Large, and decompressing elsewhere throws SizeLimitExceededException. The keyed hmacSHA256 helper and other safe paths are unaffected.

Workarounds

For deployments that cannot upgrade immediately:

  • Replace the GZip / GunZip filters with custom versions that wrap the decompressed InputStream in a size-limited reader, or
  • Strip gzip-encoded request support at the edge (CDN, reverse proxy, or load balancer).

References

Record
GHSA-g4w2-6h2r-3m3w
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-409
Updated
2026-11-02
NVD 7.5

http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.49.0.0, ServerFilters.GZip, RequestFilters.GunZip, and the underlying Gzip request-body decompression functions impose no limit on decompressed size. An unauthenticated client can send a small gzip-encoded request body that expands to gigabytes, exhausting the JVM heap and denying service to other clients. The fix uses SizeLimitedInputStream to enforce a default 10 MiB limit, causes ServerFilters.GZip and RequestFilters.GunZip to return 413 Request Entity Too Large, and causes other decompression paths to throw SizeLimitExceededException. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.49.0.0.

Record
CVE-2026-53659
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-409
Updated
2026-11-02
OSV 7.5

http4k: Unbounded gzip decompression in `ServerFilters.GZip` / `RequestFilters.GunZip` allowed memory-exhaustion DoS

http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.49.0.0, ServerFilters.GZip, RequestFilters.GunZip, and the underlying Gzip request-body decompression functions impose no limit on decompressed size. An unauthenticated client can send a small gzip-encoded request body that expands to gigabytes, exhausting the JVM heap and denying service to other clients. The fix uses SizeLimitedInputStream to enforce a default 10 MiB limit, causes ServerFilters.GZip and RequestFilters.GunZip to return 413 Request Entity Too Large, and causes other decompression paths to throw SizeLimitExceededException. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.49.0.0.

Record
CVE-2026-53659
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-409
Updated
2026-11-05
OSVGHSA-g4w2-6h2r-3m3w 7.5

http4k: Unbounded gzip decompression in `ServerFilters.GZip` / `RequestFilters.GunZip` allowed memory-exhaustion DoS

Impact

ServerFilters.GZip and RequestFilters.GunZip (and the underlying Gzip functions used to decompress request bodies) did not impose any cap on the decompressed size. A small malicious gzip-encoded request body (on the order of kilobytes) could decompress to gigabytes, exhausting the JVM heap and denying service to other clients.

Who is affected: any http4k server that accepts gzip-encoded requests via ServerFilters.GZip or RequestFilters.GunZip. Exploitable by any unauthenticated client. The vulnerability was introduced on 2017-08-01 (commit 2618fe08f9) and was present for ~9 years.

Patches

| Line | Fixed in | Edition | |------|----------|---------| | v6.x (Community) | 6.49.0.0 | Community | | v5.x (LTS) | 5.42.0.0 | Enterprise — contact [email protected] | | v4.x (LTS) | 4.51.0.0 | Enterprise — contact [email protected] |

The fix caps decompression at 10MB by default; oversized requests through ServerFilters.GZip / RequestFilters.GunZip now return 413 Request Entity Too Large, and decompressing elsewhere throws SizeLimitExceededException. The keyed hmacSHA256 helper and other safe paths are unaffected.

Workarounds

For deployments that cannot upgrade immediately:

  • Replace the GZip / GunZip filters with custom versions that wrap the decompressed InputStream in a size-limited reader, or
  • Strip gzip-encoded request support at the edge (CDN, reverse proxy, or load balancer).

References

Record
GHSA-g4w2-6h2r-3m3w
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-409
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
org.http4k:http4k-core
Maven
5.0.0.0 up to 5.42.0.0
5.42.0.0
org.http4k:http4k-core
Maven
through 4.48.2.0 None known
org.http4k:http4k-core
Maven
6.0.0.0 up to 6.49.0.0
6.49.0.0
org.http4k:http4k-core
Maven
6.0.0.0 up to 6.49.0.0, plus listed versions
6.0.1.06.1.0.06.1.0.16.10.0.06.10.1.0
Show 45 moreShow less
6.10.2.06.11.0.06.11.1.06.12.0.06.13.0.06.14.0.06.15.0.06.15.0.16.15.1.06.16.0.06.17.0.06.18.0.16.18.1.06.19.0.06.2.0.06.20.0.06.20.0.16.20.0.26.20.0.36.20.1.06.20.2.06.20.2.16.21.0.06.21.1.06.22.0.06.23.0.06.23.1.06.24.0.06.24.1.06.25.0.06.25.1.06.26.0.06.26.1.06.27.0.06.28.0.06.28.1.06.29.0.06.30.0.06.30.1.06.31.0.06.31.1.06.32.0.06.33.0.06.34.0.06.35.0.0
6.49.0.0
org.http4k:http4k-core
Maven
5.0.0.0 up to 5.42.0.0, plus listed versions
5.1.0.05.1.1.05.1.1.15.1.2.05.1.2.1
Show 45 moreShow less
5.10.0.05.10.1.05.10.2.05.10.3.05.10.4.05.10.5.05.10.6.05.10.7.05.11.0.05.11.1.05.12.0.05.12.1.05.12.2.05.12.2.15.13.0.05.13.0.15.13.1.05.13.2.05.13.4.05.13.4.15.13.5.05.13.6.05.13.6.15.13.7.05.13.8.05.13.9.05.14.0.05.14.1.05.14.2.05.14.4.05.14.5.05.15.0.05.16.0.05.16.1.05.16.2.05.17.0.05.18.1.05.18.2.05.19.0.05.2.0.05.2.1.05.20.0.05.21.0.05.21.1.05.21.2.0
5.42.0.0
org.http4k:http4k-core
Maven
through 4.48.2.0, plus listed versions
0.21.00.22.01.0.01.1.01.10.0
Show 45 moreShow less
1.11.01.13.01.14.01.15.01.16.01.17.01.18.01.19.01.19.11.2.01.20.01.21.01.21.11.22.01.22.21.23.01.24.01.25.01.25.11.26.01.26.11.26.21.27.01.28.01.3.01.30.01.31.01.32.01.32.11.32.21.33.01.33.11.4.01.5.01.6.01.7.01.8.01.9.02.0.02.0.12.0.22.0.32.0.42.0.52.1.0
None known

History

History
RecordedChangedSources
factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-53659 is a high vulnerability (CVSS 7.5) in Http4k, published August 17, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.63%, the 50th percentile. Fixed in org.http4k:http4k-core 5.42.0.0.

References

This page doesn't list everything

Left out here: 659 versions. The JSON record has them.

MoveEnter Open