GHSA-mhvj-jhpq-885v
blaze: Multiple HTTP/1.1 request-smuggling primitives in blaze's Java wire parser
Quick fix
GHSA-mhvj-jhpq-885v — org.http4s:http4s-blaze-server_2.13: upgrade to the fixed version with the command below.
# pom.xml: bump <version>0.23.18</version> for org.http4s:http4s-blaze-server_2.13 Details
### Summary Five independent HTTP/1.1 conformance laxities in blaze's hand-written Java parser (`http/src/main/java/org/http4s/blaze/http/parser/`) cause request-boundary disagreement with a stricter intermediary. All are reachable from a default `BlazeServerBuilder` with no non-default configuration.
### Impact Actual exploitability depends on the fronting proxy — a boundary disagreement requires a *pair* of parsers that disagree. Where the proxy forwards the malformed bytes and derives a different message boundary, the consequences are the standard set: front-end ACL/auth bypass, response-queue poisoning on pooled backend connections, and cache poisoning. Risk concentrates on lenient or legacy intermediaries.
### Workarounds Deploy behind an RFC-strict reverse proxy (nginx, HAProxy, Envoy, ALB) that rejects or re-serializes malformed requests at the edge; this neutralizes most of these for deployments that cannot upgrade immediately.
Are you affected?
Enter the version of the package you're using.
Affected packages
0 Fixed in: 0.23.18 # pom.xml: bump <version>0.23.18</version> for org.http4s:http4s-blaze-server_2.13 0 Fixed in: 0.23.18 # pom.xml: bump <version>0.23.18</version> for org.http4s:blaze-http_2.13 0 Fixed in: 0.23.18 # pom.xml: bump <version>0.23.18</version> for org.http4s:blaze-http_3 1.0.0-M1 Fixed in: 1.0.0-M42 # pom.xml: bump <version>1.0.0-M42</version> for org.http4s:blaze-http_3 1.0.0-M1 Fixed in: 1.0.0-M42 # pom.xml: bump <version>1.0.0-M42</version> for org.http4s:blaze-http_2.13 References
- https://github.com/http4s/blaze/security/advisories/GHSA-mhvj-jhpq-885v [WEB]
- https://github.com/http4s/blaze/commit/3f7c022e306631b006dcb43a1d7f65c0d1966f17 [WEB]
- https://github.com/http4s/blaze/commit/4eec2007806aa9acfefb00ebb636ddc39a147a96 [WEB]
- https://github.com/http4s/blaze/commit/927b67753a78c13c4445dac9307f511f5c4878c3 [WEB]
- https://github.com/http4s/blaze/commit/a54bc9cd31758335c7f24e29763622fd03fcf734 [WEB]
- https://github.com/http4s/blaze/commit/c47d9675f87603f11b32a11d503626bdf9be5c7a [WEB]
- https://github.com/http4s/blaze/commit/e871ebb1d27f50c98fd56988526ce42d0fee74d6 [WEB]
- https://github.com/http4s/blaze [PACKAGE]
- https://github.com/http4s/blaze/releases/tag/v0.23.18 [WEB]
- https://github.com/http4s/blaze/releases/tag/v1.0.0-M42 [WEB]