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: Chunked-body trailer fields promoted into Request.headers in blaze-server (front-end header-sanitization bypass)
blaze is a Scala library for building asynchronous pipelines, with a focus on network IO. Prior to 0.23.18 and 1.0.0-M42, blaze-server can merge HTTP/1.1 chunked-body trailer fields into Request.headers. Because trailer fields are attacker-controlled, an unauthenticated remote client can inject arbitrary header names and values, including X-Forwarded-For and internal authorization headers, that a fronting proxy sanitized from the request-header section, bypassing header-based trust decisions in the application. Any http4s application using BlazeServerBuilder over HTTP/1.1 whose routes or middleware trust proxy-set headers, including X-Forwarded-For, X-Real-IP, and X-Forwarded-Host, is affected. If a fronting proxy strips or normalizes those headers but forwards chunked bodies with trailers intact, an attacker can spoof client IP for allow-lists, rate limits, or auditing, forge the https scheme, or inject internal authorization headers. A promoted Connection: close trailer is also honored, allowing attacker-controlled termination of pooled backend connections. This issue is fixed in versions 0.23.18 and 1.0.0-M42.
References
-
https://github.com/http4s/blaze/security/advisories/GHSA-46q4-43ph-c6fr 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
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>