Memory exhaustion in http4s-async-http-client with large or malicious compressed responses
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-400.
Summary
### Impact A server we connect to with http4s-async-http-client could theoretically respond with a large or malicious compressed stream and exhaust memory in the client JVM. It does not affect http4s servers, other client backends, or clients that speak only to trusted servers. This is related to a transitive dependency on netty-codec-4.1.45.Final, which is affected by [CVE-2020-11612](https://app.snyk.io/vuln/SNYK-JAVA-IONETTY-564897). ### Patches Upgrade to http4s-async-http-client >= 0.21.8. All 1.0 milestones are also safe. ### Workarounds Add an explicit runtime dependency on async-http-client's netty dependencies that evicts them to an unaffected version: ```scala libraryDependencies ++= Seq( "io.netty" % "netty-codec" % "4.1.53.Final" % Runtime, "io.netty" % "netty-codec-socks" % "4.1.53.Final" % Runtime, "io.netty" % "netty-handler-proxy" % "4.1.53.Final" % Runtime, "io.netty" % "netty-common" % "4.1.53.Final" % Runtime, "io.netty" % "netty-transport" % "4.1.53.Final" % Runtime, "io.netty" % "netty-handler" % "4.1.53.Final" % Runtime, "io.netty" % "netty-resolver-dns" % "4.1.53.Final" % Runtime ) ``` ### References * https://app.snyk.io/vuln/SNYK-JAVA-IONETTY-564897 * https://github.com/http4s/http4s/issues/3681 ### For more information If you have any questions or comments about this advisory: * Open an issue in [http4s](https://github.com/http4s/http4s/issues/new) * Contact a maintainer privately per [http4s' security policy](https://github.com/http4s/http4s/blob/master/SECURITY.md#reporting-a-vulnerability)
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | org.http4s:http4s-async-http-client_2.13 (Maven) | before 0.21.8 | 0.21.8 | Patch available | GHSA-8hxh-r6f7-jf45 |
| — | org.http4s:http4s-async-http-client_2.12 (Maven) | before 0.21.8 | 0.21.8 | Patch available | GHSA-8hxh-r6f7-jf45 |
- org.http4s:http4s-async-http-client_2.13 (Maven) Vendor— Affected before 0.21.8 Fixed in 0.21.8 Patch available GHSA-8hxh-r6f7-jf45
- org.http4s:http4s-async-http-client_2.12 (Maven) Vendor— Affected before 0.21.8 Fixed in 0.21.8 Patch available GHSA-8hxh-r6f7-jf45
Remediation
- Fix · GHSA-8hxh-r6f7-jf45 org.http4s:http4s-async-http-client_2.13 (Maven) Fixed in 0.21.8 Advisory →
- Fix · GHSA-8hxh-r6f7-jf45 org.http4s:http4s-async-http-client_2.12 (Maven) Fixed in 0.21.8 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-8hxh-r6f7-jf45
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences