{"id":"CVE-2026-69209","summary":"Http4s: WebSocket decoder accepts unbounded message sizes","details":"Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, The shared WebSocket decoder permits unbounded message buffering because defragmentation accumulates fragments without a limit and FrameTranscoder accepts declared lengths up to Int.MaxValue. A remote client that completes a WebSocket handshake against an http4s-blaze-server or http4s-ember-server endpoint can exhaust server memory with oversized frames or fragmented messages. The patched decoder applies a configurable 64 MiB default limit to individual frames and defragmented messages through EmberServerBuilder.withMaxWebSocketMessageSize. This issue is fixed in versions 0.23.35 and 1.0.0-M47.","aliases":["GHSA-jrxx-w2m8-5hf5"],"modified":"2026-09-18T03:31:02.483428399Z","published":"2026-09-15T18:55:29.782Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-400","CWE-770"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/69xxx/CVE-2026-69209.json"},"references":[{"type":"WEB","url":"https://github.com/http4s/http4s/releases/tag/v0.23.35"},{"type":"WEB","url":"https://github.com/http4s/http4s/releases/tag/v1.0.0-M47"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/69xxx/CVE-2026-69209.json"},{"type":"ADVISORY","url":"https://github.com/http4s/http4s/security/advisories/GHSA-jrxx-w2m8-5hf5"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-69209"},{"type":"FIX","url":"https://github.com/http4s/http4s/commit/d578c3c9da6193627d40fa785e612cda7fcd77b3"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/http4s/http4s","events":[{"introduced":"0"},{"introduced":"756ce63aee681c5b632bbeafe0b8fde2f3d237f4"},{"fixed":"a83f5f4f7e14c5b4d4a91dd71b105cbbbb391298"},{"fixed":"6083780a3009bd7b26033b0ceb3d32c658b0377e"},{"fixed":"d578c3c9da6193627d40fa785e612cda7fcd77b3"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"0.23.35"},{"introduced":"1.0.0-M1"},{"fixed":"1.0.0-M47"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["v1.0.0-M46","v0.23.34","v0.23.33","v1.0.0-M45","v0.23.32","v0.23.31","v1.0.0-M44","v0.23.30","v1.0.0-M43","v1.0.0-M42","v0.23.29","v0.23.28","v0.23.27","v1.0.0-M41","v0.23.26","v0.23.25","v0.23.24","v0.23.23","v1.0.0-M40","v0.23.22","v0.23.20","v0.23.19","v0.23.19-RC2","v0.23.19-RC1","v1.0.0-M39","v0.23.18","v1.0.0-M37","v0.23.16","v1.0.0-M36","v0.23.15","v1.0.0-M35","v0.23.14","v1.0.0-M34","v0.23.13","v1.0.0-M33","v0.23.12","v1.0.0-M32","v0.23.11","v1.0.0-M31","v0.23.10","v0.23.9","v0.23.8","v1.0.0-M30","v0.23.7","v1.0.0-M29","v0.23.6","v0.23.5","v1.0.0-M28","v0.23.3","v1.0.0-M26","v0.23.2","v1.0.0-M24","v0.23.1","v0.23.0","v1.0.0-M22","v0.23.0-M1","v1.0.0-M21","v1.0.0-M20","v1.0.0-M19","v1.0.0-M17","v1.0.0-M16","v1.0.0-M15","v1.0.0-M13","v1.0.0-M12","v1.0.0-M11","v1.0.0-M10","v1.0.0-M9","v1.0.0-M8","v1.0.0-M7","v1.0.0-M6","v1.0.0-M5","v1.0.0-M4","v1.0.0-M3","v1.0.0-M2","v1.0.0-M1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-69209.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}