Skip to main content

http4s blaze CVE-2026-73495

| EUVDEUVD-2026-57635 HIGH
HTTP Request/Response Smuggling (CWE-444)
2026-08-12 GitHub_M GHSA-46q4-43ph-c6fr
7.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send HTTP/1.1 chunked POST with Trailer header
  2. Delivery
    Proxy strips X-Forwarded-For from request headers
  3. Exploit
    Proxy forwards chunked body with injected trailer to blaze backend
  4. Execution
    blaze merges trailer into Request.headers
  5. Persist
    Application trusts spoofed header
  6. Impact
    Bypass 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

blaze < 0.23.18
blaze 1.0.0-M1, < 1.0.0-M42

Affected Packages

maven org.http4s:blaze-http_2.12 fix: 0.23.18
maven org.http4s:blaze-http_2.13 fix: 0.23.18, 1.0.0-M42
maven org.http4s:blaze-http_3 fix: 0.23.18, 1.0.0-M42
euvd blaze fix: 0.23.18
euvd blaze_1_0_0_m1 fix: 1.0.0-M42

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

Vendor (GitHub_M) PRIMARY 7.4 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 7.7 HIGH

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:L
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Aug 12, 2026 - 22:03 EUVD
CVE Published
Aug 12, 2026 - 21:11 cve.org
HIGH 7.4

DescriptionCVE.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.

Executive ViewAI

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Low
niche Scala/FP ecosystem library, limited enterprise production footprint
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

37
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +37
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy