{"api_version":"1","generated_at":"2026-09-20T08:14:12+00:00","cve":"CVE-2026-53659","urls":{"html":"https://cve.report/CVE-2026-53659","api":"https://cve.report/api/cve/CVE-2026-53659.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-53659","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-53659"},"summary":{"title":"http4k: Unbounded gzip decompression in `ServerFilters.GZip` / `RequestFilters.GunZip` allowed memory-exhaustion DoS","description":"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.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-09-14 18:17:51","updated_at":"2026-09-14 19:17:25"},"problem_types":["CWE-409","CWE-409 CWE-409: Improper Handling of Highly Compressed Data (Data Amplification)"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/http4k/http4k/releases/tag/6.49.0.0","name":"https://github.com/http4k/http4k/releases/tag/6.49.0.0","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/http4k/http4k/commit/9f9e02f8efbbe04e0c70f1c46eef5d9d9067ea5b","name":"https://github.com/http4k/http4k/commit/9f9e02f8efbbe04e0c70f1c46eef5d9d9067ea5b","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/http4k/http4k/security/advisories/GHSA-g4w2-6h2r-3m3w","name":"https://github.com/http4k/http4k/security/advisories/GHSA-g4w2-6h2r-3m3w","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/http4k/http4k/commit/2618fe08f9801353012561ae1f1382fa2d37bac9","name":"https://github.com/http4k/http4k/commit/2618fe08f9801353012561ae1f1382fa2d37bac9","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-53659","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53659","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"http4k","product":"http4k","version":"affected < 4.51.0.0","platforms":[]},{"source":"CNA","vendor":"http4k","product":"http4k","version":"affected >= 5.0.0.0, < 5.42.0.0","platforms":[]},{"source":"CNA","vendor":"http4k","product":"http4k","version":"affected >= 6.0.0.0, < 6.49.0.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-53659","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-09-14T19:03:47.669547Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-09-14T19:03:54.830Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"http4k","vendor":"http4k","versions":[{"status":"affected","version":"< 4.51.0.0"},{"status":"affected","version":">= 5.0.0.0, < 5.42.0.0"},{"status":"affected","version":">= 6.0.0.0, < 6.49.0.0"}]}],"descriptions":[{"lang":"en","value":"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."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-409","description":"CWE-409: Improper Handling of Highly Compressed Data (Data Amplification)","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-09-14T17:29:57.872Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/http4k/http4k/security/advisories/GHSA-g4w2-6h2r-3m3w","tags":["x_refsource_CONFIRM"],"url":"https://github.com/http4k/http4k/security/advisories/GHSA-g4w2-6h2r-3m3w"},{"name":"https://github.com/http4k/http4k/commit/2618fe08f9801353012561ae1f1382fa2d37bac9","tags":["x_refsource_MISC"],"url":"https://github.com/http4k/http4k/commit/2618fe08f9801353012561ae1f1382fa2d37bac9"},{"name":"https://github.com/http4k/http4k/commit/9f9e02f8efbbe04e0c70f1c46eef5d9d9067ea5b","tags":["x_refsource_MISC"],"url":"https://github.com/http4k/http4k/commit/9f9e02f8efbbe04e0c70f1c46eef5d9d9067ea5b"},{"name":"https://github.com/http4k/http4k/releases/tag/6.49.0.0","tags":["x_refsource_MISC"],"url":"https://github.com/http4k/http4k/releases/tag/6.49.0.0"}],"source":{"advisory":"GHSA-g4w2-6h2r-3m3w","discovery":"UNKNOWN"},"title":"http4k: Unbounded gzip decompression in `ServerFilters.GZip` / `RequestFilters.GunZip` allowed memory-exhaustion DoS"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-53659","datePublished":"2026-09-14T17:29:57.872Z","dateReserved":"2026-06-09T20:50:36.877Z","dateUpdated":"2026-09-14T19:03:54.830Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-14 18:17:51","lastModifiedDate":"2026-09-14 19:17:25","problem_types":["CWE-409","CWE-409 CWE-409: Improper Handling of Highly Compressed Data (Data Amplification)"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-09-14T19:03:47.669547Z","id":"CVE-2026-53659","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"53659","Ordinal":"1","Title":"http4k: Unbounded gzip decompression in `ServerFilters.GZip` / `","CVE":"CVE-2026-53659","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"53659","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"http4k: Unbounded gzip decompression in `ServerFilters.GZip` / `"}]}}}