7.4 HIGH
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): High (H)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): High (H)
- Integrity (I): High (H)
- Availability (A): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): High (H)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): High (H)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): High (H)
- Modified Availability (MA): None (N)
Activity log
- Created suggestion
blaze: Multiple HTTP/1.1 request-smuggling primitives in blaze's Java wire parser
blaze is a Scala library for building asynchronous pipelines, with a focus on network IO. Prior to 0.23.18 and from 1.0.0-M1 until 1.0.0-M42, five HTTP/1.1 conformance laxities in the hand-written Java parser under http/src/main/java/org/http4s/blaze/http/parser/ can cause blaze to derive a different request boundary than a stricter fronting intermediary. A default BlazeServerBuilder accepts invalid or valueless header field names that violate tchar syntax, obsolete folded field lines (obs-fold), unsupported Transfer-Encoding values, duplicate Content-Length fields, and requests containing both Transfer-Encoding and Content-Length. If a lenient or legacy proxy forwards the malformed bytes but interprets them differently, the disagreement can permit front-end authorization bypass, response-queue poisoning on pooled backend connections, or cache poisoning. Exploitation requires a pair of disagreeing parsers; no non-default blaze configuration is required. The affected checks are enforced in BodyAndHeaderParser and Http1ServerParser. This issue is fixed in versions 0.23.18 and 1.0.0-M42.
References
-
https://github.com/http4s/blaze/security/advisories/GHSA-mhvj-jhpq-885v x_refsource_CONFIRM
-
https://github.com/http4s/blaze/releases/tag/v0.23.18 x_refsource_MISC
-
https://github.com/http4s/blaze/releases/tag/v1.0.0-M42 x_refsource_MISC
Affected products
- ==< 0.23.18
- ==>= 1.0.0-M1, < 1.0.0-M42
- ==< 0.23.18
- ==>= 1.0.0-M1, < 1.0.0-M42
- ==< 0.23.18
- ==>= 1.0.0-M1, < 1.0.0-M42
- ==< 0.23.18
Matching in nixpkgs
pkgs.blaze
High performance C++ math library
pkgs.mblaze
Unix utilities for processing and interacting with mail messages which are stored in maildir folders
pkgs.blazesym-c
C language bindings for the blazesym library
pkgs.backblaze-b2
Command-line tool for accessing the Backblaze B2 storage service
pkgs.haskellPackages.blaze
None
pkgs.haskellPackages.blaze-svg
SVG combinator library
pkgs.haskellPackages.blaze-html
A blazingly fast HTML combinator library for Haskell
pkgs.haskellPackages.blaze-htmx
Blaze integration of the htmx library
pkgs.haskellPackages.snap-blaze
blaze-html integration for Snap
pkgs.haskellPackages.blazeMarker
...
pkgs.haskellPackages.blaze-markup
A blazingly fast markup combinator library for Haskell
pkgs.haskellPackages.blaze-builder
Efficient buffered output
pkgs.haskellPackages.blaze-textual
Fast rendering of common datatypes
pkgs.haskellPackages.servant-blaze
Blaze-html support for servant
pkgs.haskellPackages.ihaskell-blaze
IHaskell display instances for blaze-html types
pkgs.haskellPackages.blaze-bootstrap
Blaze helper functions for bootstrap pages
pkgs.haskellPackages.blaze-from-html
Tool to convert HTML to BlazeHtml code
pkgs.haskellPackages.blaze-builder-conduit
Convert streams of builders to streams of bytestrings. (deprecated)
pkgs.haskellPackages.digestive-functors-blaze
Blaze frontend for the digestive-functors library
pkgs.haskellPackages.skylighting-format-blaze-html
HTML formatter for skylighting syntax highlighting library
Package maintainers
-
@phaer Paul Haerle <nix@phaer.org>
-
@aaronjheng Aaron Jheng <wentworth@outlook.com>
-
@axgfn Alex Griffin <a@ajgrf.com>