Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend HTTP/1.1 chunked POST with Trailer header
-
DeliveryProxy strips X-Forwarded-For from request headers
-
ExploitProxy forwards chunked body with injected trailer to blaze backend
-
Executionblaze merges trailer into Request.headers
-
PersistApplication trusts spoofed header
-
ImpactBypass IP allow-list or internal authorization check
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service HTTP request consistency
|
| Exploitation Conditions | Exploitation requires all of the following conditions to hold simultaneously: (1) the application uses BlazeServerBuilder (not Ember, Jetty, or other http4s backends) over HTTP/1.1 - HTTP/2 is not affected because HTTP/2 uses a separate trailer mechanism; (2) the application or its middleware makes trust decisions based on proxy-set headers such as X-Forwarded-For, X-Real-IP, X-Forwarded-Host, or internal authorization headers; (3) a fronting proxy is deployed that strips or normalizes those headers from the request-header section before forwarding but does not also strip or reject HTTP/1.1 chunked trailer fields - the proxy must forward the raw chunked body including trailers intact; (4) the attacker can send HTTP/1.1 chunked requests with a Trailer header directly to the proxy. The CVSS AC:H rating reflects these combined requirements. Applications directly exposed to the internet without a sanitizing proxy, or those that use no header-based trust logic, or those already behind a proxy that also filters trailers are not exploitable. The Connection:close trailer abuse additionally requires only that pooled HTTP connections exist between the proxy and the blaze-server backend. |
| Impact | The CVSS 3.1 base score of 7.4 (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N) accurately captures the high exploit prerequisites: AC:H reflects the requirement for a specific proxy topology where the fronting proxy strips headers from the request-header section but passes chunked body trailers unfiltered to the backend - a condition that is non-trivial but plausible in real reverse-proxy configurations (Nginx, HAProxy, Cloudflare) depending on their chunked-trailer handling settings. PR:N is correct since the attack requires no authentication; the attacker supplies the malicious trailer in the HTTP request itself. The C:H and I:H ratings are justified because a successful bypass of IP-based allow-lists or internal authorization headers can yield full unauthorized access to protected resources. The A:N rating in the NVD vector understates the Connection:close trailer abuse vector, which can force termination of pooled backend connections; in practice this represents at least a low availability impact. No EPSS data was provided in the input; the vulnerability is not in the CISA KEV catalog and no public POC has been identified, suggesting exploitation has not been observed at scale. Real-world risk is concentrated in http4s/BlazeServerBuilder deployments that (a) run over HTTP/1.1, (b) sit behind a sanitizing proxy, and (c) implement header-based trust logic - all three conditions must hold simultaneously, which meaningfully limits the exploitable population despite the high CVSS score. |
| Exploit ScenarioDerived | An attacker targeting an http4s application that uses X-Forwarded-For for IP-based rate limiting sends a crafted HTTP/1.1 POST request with Transfer-Encoding: chunked and a Trailer: X-Forwarded-For declaration; the fronting proxy strips the X-Forwarded-For header from the request header section as intended, but forwards the chunked body to blaze-server with the attacker's trailer X-Forwarded-For: 1.2.3.4 appended after the final chunk. blaze-server merges this trailer into Request.headers, and the application's rate-limiting middleware reads the spoofed IP as if it were proxy-validated, bypassing per-IP restrictions or audit logging. No public POC has been identified, but the attack is constructable from the advisory description alone. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 12, 2026
Header injection in http4s blaze-server allows remote unauthenticated attackers to smuggle arbitrary HTTP headers - including X-Forwarded-For, X-Real-IP, and internal authorization headers - by embedding them in HTTP/1.1 chunked transfer encoding trailer fields, which blaze-server incorrectly merges into Request.headers. Applications deployed behind a proxy that sanitizes request headers but forwards chunked bodies with trailers intact are fully exposed: attackers can spoof client IPs to bypass allow-lists, forge HTTPS scheme indicators, inject internal authentication tokens, or force termination of pooled backend connections via a promoted Connection:close trailer. No public exploit code has been identified at time of analysis, and this vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog.
RemediationAI
The primary fix is to upgrade blaze to version 0.23.18 (for stable series users) or 1.0.0-M42 (for milestone series users); both are confirmed released at the GitHub tags linked above. The patch in commit ef3e666c146cfc16cb6603f1fc3c464daab4a24f segregates trailer fields into a separate buffer, preventing them from ever appearing in Request.headers. Until the upgrade is applied, the vendor-recommended workaround is to deploy a fronting proxy configured to strip all trailer fields from incoming chunked requests or to reject HTTP/1.1 requests that include a Trailer header - this prevents the malicious fields from reaching blaze-server entirely. The trade-off of the proxy-based workaround is that legitimate use of HTTP/1.1 trailers (e.g., late-computed checksums) will be blocked or cause request rejection. Applications that do not use BlazeServerBuilder, that run exclusively over HTTP/2 or HTTP/3, or that perform no header-based trust decisions are not exposed and require no immediate action.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 5 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
HTTP/1.1 chunked transfer encoding (RFC 7230 §4.1.2, RFC 9112 §7.1.2) permits trailer fields - additional headers appended after the message body - but explicitly forbids servers from merging those trailers into the request header section visible to application logic. The affected component is Http1ServerParser.scala within org.http4s:blaze-http (CPE: cpe:2.3:a:http4s:blaze:*:*:*:*:*:*:*:*), which prior to the fix used a single shared header buffer for both regular headers and chunked trailers. Because the parser's addHeader() callback did not distinguish between the initial header parsing phase and the in-chunk-trailer phase, trailer fields were appended to the same Headers collection as request headers. The root cause class is CWE-444 (Inconsistent Interpretation of HTTP Requests), commonly associated with HTTP request smuggling; here the inconsistency is between the proxy's view of headers (sanitized) and the blaze-server's view (augmented with attacker-supplied trailers). The fix, committed in ef3e666c146cfc16cb6603f1fc3c464daab4a24f, introduces a separate trailers ListBuffer, uses an inChunkedHeaders() guard to route fields correctly, and clears the trailer buffer on parser reset.
Know when Blaze gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
AV:N and PR:N confirmed by trailer-based unauthenticated attack; AC:H for required proxy topology; A:L added over NVD's A:N to capture attacker-controlled backend connection termination via Connection:close trailer.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Blast Radius
ecosystem impact- 13 maven packages depend on org.http4s:blaze-http_2.12 (1 direct, 12 indirect)
Ecosystem-wide dependent count for version 0.23.18.
Executive ViewAI
The http4s blaze-server framework contains a header injection vulnerability (CVSS 7.4) that allows attackers to forge authentication headers and spoof client IP addresses in standard reverse proxy deployments, potentially bypassing IP-based access controls and granting unauthorized backend access. Organizations using http4s blaze-server remain vulnerable until proxy-level defenses are deployed, as no vendor patch is currently available. Immediate action to implement compensating controls is required to protect application security posture.
No vendor-released patch identified at time of analysis. Configure upstream proxy or load balancer to validate and strip HTTP trailer headers (particularly X-Forwarded-For, X-Real-IP, Authorization, Connection); disable HTTP/1.1 chunked transfer encoding with trailers if operationally feasible; implement WAF rules to detect header smuggling patterns in chunked requests.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
HTTP request smuggling exploits inconsistencies in how front-end and back-end servers parse HTTP message boundaries.
Unbounded WebSocket fragment aggregation in http4s-blaze-server allows any client that completes a WebSocket handshake t
blaze is a Scala library for building asynchronous pipelines, with a focus on network IO. Rated high severity (CVSS 7.5)
HTTP/1.1 request smuggling in http4s blaze allows a remote client to desynchronize message boundaries between blaze's ha
EUVD-2026-57635
GHSA-46q4-43ph-c6fr
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB