<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Http4s-Ember-Core (&lt;= 0.23.34, &gt;= 1.0.0-M1 and &lt;= 1.0.0-M46) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/http4s-ember-core--0.23.34--1.0.0-m1-and--1.0.0-m46/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 16 Sep 2026 01:05:04 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/http4s-ember-core--0.23.34--1.0.0-m1-and--1.0.0-m46/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>HTTP Request Smuggling Vulnerability in http4s Ember</title><link>https://feed.craftedsignal.io/briefs/2026-09-http4s-ember-smuggling/</link><pubDate>Wed, 16 Sep 2026 01:05:04 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-http4s-ember-smuggling/</guid><description>The http4s Ember HTTP/1.1 parser fails to reject messages containing both 'Transfer-Encoding' and 'Content-Length' headers, enabling CL.TE request smuggling attacks.</description><content:encoded><![CDATA[<p>The http4s Ember HTTP/1.1 parser (CVE-2026-69204) fails to comply with RFC 9112 §6.1, which mandates that servers treat any HTTP/1.1 message containing both 'Transfer-Encoding' and 'Content-Length' headers as a framing error and close the connection. Because Ember accepts both, discrepancies arise when it is deployed behind an intermediary that frames the request based on 'Content-Length' while Ember frames based on 'Transfer-Encoding' (chunked). This desynchronization creates a CL.TE request smuggling condition. Attackers can exploit this to perform request smuggling, bypassing authentication filters, performing cross-user request hijacking, or poisoning backend caches. The vulnerability affects both 'ember-server' (origin) and 'ember-client' (response processing), with the latter vulnerable to desynchronization from a malicious upstream source.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious HTTP/1.1 request containing both 'Transfer-Encoding: chunked' and a 'Content-Length' header.</li>
<li>Attacker sends the request to the intermediary load balancer or reverse proxy sitting in front of the target Ember server.</li>
<li>The intermediary processes the 'Content-Length' header, framing the request body accordingly, and forwards the entire packet to the backend Ember server.</li>
<li>The backend Ember server, ignoring the 'Content-Length' header in favor of 'Transfer-Encoding', parses the request as chunked.</li>
<li>The Ember server interprets only the first chunk of the request, leaving the remainder of the payload in the socket buffer.</li>
<li>The residual data in the socket buffer is interpreted by the Ember server as the prefix of the next legitimate user request sent over the same keep-alive connection.</li>
<li>Ember processes the smuggled data as a separate request, achieving unauthorized execution or security bypass.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for critical security impacts, including the bypassing of front-end security policies, unauthorized cross-user request hijacking, and HTTP cache poisoning. These impacts are most severe in architectures where Ember handles keep-alive backend connections from an intermediary that does not strictly sanitize request headers.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade http4s-ember-core to a non-vulnerable version as soon as patches become available to address CVE-2026-69204.</li>
<li>Configure upstream intermediaries to strictly reject HTTP/1.1 requests containing both 'Transfer-Encoding' and 'Content-Length' headers.</li>
<li>Ensure intermediaries buffer and re-encode request bodies to normalize framing before sending them to the backend server.</li>
<li>Disable keep-alive connections between the intermediary and the Ember backend if immediate patching is not possible.</li>
<li>Implement web application firewall (WAF) rules to detect and drop HTTP requests containing duplicate or conflicting framing headers.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>request-smuggling</category><category>cve-2026-69204</category><category>http-vulnerability</category><category>denial-of-service</category><category>vulnerability</category><category>http2</category><category>http4s</category><category>cve-2026-69202</category></item></channel></rss>