<?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/"><channel><title>Heimdall (&lt;= 0.17.16) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/heimdall--0.17.16/</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>Thu, 18 Jun 2026 15:12:55 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/heimdall--0.17.16/feed.xml" rel="self" type="application/rss+xml"/><item><title>Heimdall IP Spoofing via Unvalidated Forwarding Headers</title><link>https://feed.craftedsignal.io/briefs/2026-06-heimdall-ip-spoofing/</link><pubDate>Thu, 18 Jun 2026 15:12:55 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-06-heimdall-ip-spoofing/</guid><description>A high-severity vulnerability in dadrus/heimdall (versions &lt;= 0.17.16) enables attackers to spoof client IP addresses by injecting unvalidated or malformed values into `Forwarded` or `X-Forwarded-For` HTTP headers, potentially bypassing access controls or propagating malicious IP data to upstream services when `trusted_proxies` is configured.</description><content:encoded><![CDATA[<p>A high-severity vulnerability has been identified in <code>dadrus/heimdall</code> versions up to and including 0.17.16. This flaw allows attackers to spoof client IP addresses when the <code>trusted_proxies</code> option is configured, due to insufficient validation of values extracted from <code>Forwarded</code> and <code>X-Forwarded-For</code> HTTP headers. Heimdall extracts these header values into <code>Request.ClientIPAddresses</code> without checking for syntactically valid IP addresses, accepting arbitrary strings, malformed literals, or RFC 7239 <code>unknown</code> values. Additionally, the <code>Forwarded</code> header parser fails to correctly handle quoted strings containing delimiters (<code>,</code> or <code>;</code>), leading to misparsing and the creation of malformed entries. This vulnerability can be exploited by manipulating HTTP forwarding headers, allowing attackers to bypass access control rules that rely on <code>Request.ClientIPAddresses</code> for authorization, or to propagate attacker-controlled IP values to upstream services when Heimdall operates in proxy mode.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts an HTTP request targeting a heimdall instance where the <code>trusted_proxies</code> configuration option is enabled.</li>
<li>The attacker includes a manipulated <code>X-Forwarded-For</code> header (e.g., <code>X-Forwarded-For: 192.168.1.1, EVIL_IP</code>) or <code>Forwarded</code> header (e.g., <code>Forwarded: for=&quot;127.0.0.1;attacker_id&quot;</code>, <code>Forwarded: for=&quot;unknown&quot;</code>) containing a syntactically invalid, spoofed, or otherwise malformed IP address value.</li>
<li>Heimdall, lacking proper validation, extracts this malicious value from the forwarding header and populates its internal <code>Request.ClientIPAddresses</code> property with the attacker-controlled string.</li>
<li>If the heimdall instance uses rules (e.g., a CEL authorizer) that reference <code>Request.ClientIPAddresses</code> to enforce access control (e.g., restricting access to specific IP ranges), these rules evaluate against the spoofed IP.</li>
<li>The attacker successfully bypasses the intended access control logic, gaining unauthorized access or circumventing restrictions based on the spoofed IP address.</li>
<li>(Alternative/Concurrent): If heimdall is operating in proxy mode, it uses the manipulated <code>Request.ClientIPAddresses</code> to reconstruct <code>X-Forwarded-For</code> and <code>Forwarded</code> headers before forwarding the request to upstream services.</li>
<li>Upstream services that trust these forwarded headers will receive and process the attacker-controlled IP value, potentially leading to incorrect logging, misattribution, or further exploitation within the internal network.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The primary impact of this vulnerability is the circumvention of application-level access controls and the potential for misattribution or further exploitation of upstream systems. Organizations utilizing <code>dadrus/heimdall</code> as an API gateway or proxy with the <code>trusted_proxies</code> option enabled are at risk. Attackers can bypass IP-based authorization checks, granting them unauthorized access to protected resources. Furthermore, in proxy mode, attacker-controlled IP values can be propagated to backend services, corrupting security logs, impacting forensic investigations, or enabling further attacks that rely on source IP validation. There is no information regarding specific victim counts or targeted sectors in the advisory, but any organization relying on Heimdall's IP-based security features could be affected.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>dadrus/heimdall</code> to a version higher than 0.17.16 immediately to patch the vulnerability described in the GHSA advisory.</li>
<li>Ensure network-level controls are in place to only permit trusted proxies to communicate directly with your Heimdall instances.</li>
<li>Configure any proxies forwarding requests to Heimdall to sanitize or completely override, rather than append to, existing <code>Forwarded</code> or <code>X-Forwarded-For</code> headers.</li>
<li>Review and adjust any rules (e.g., CEL authorizer rules) that rely on <code>Request.ClientIPAddresses</code> for security-sensitive decisions, considering the potential for IP spoofing until patches are applied.</li>
<li>Deploy the Sigma rules provided in this brief to your SIEM to detect attempts at IP spoofing via manipulated <code>X-Forwarded-For</code> and <code>Forwarded</code> headers.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ip-spoofing</category><category>access-bypass</category><category>web-application</category><category>github-advisory</category></item><item><title>Heimdall Proxy Forwarded Header Injection via Unsanitized Host Header</title><link>https://feed.craftedsignal.io/briefs/2026-06-heimdall-forwarded-header-injection/</link><pubDate>Thu, 18 Jun 2026 15:11:26 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-06-heimdall-forwarded-header-injection/</guid><description>Attackers can exploit Heimdall proxy versions &lt;= 0.17.16 operating in proxy mode by injecting malicious values into the `Host` HTTP header, leading to the construction of a manipulated `Forwarded` header that can spoof client IP addresses for upstream services, potentially bypassing IP-based access controls.</description><content:encoded><![CDATA[<p>A vulnerability (GHSA-4jgr-pg2m-m988) has been identified in Heimdall, an API gateway and access control solution, specifically affecting versions 0.17.16 and earlier when running in proxy mode. This flaw allows attackers to perform <code>Forwarded</code> header injection by sending a specially crafted HTTP request where the <code>Host</code> header contains unsanitized commas or semicolons followed by <code>for=</code> or <code>proto=</code>. Heimdall's <code>proxy/request_context.go</code> (line 201) directly concatenates the incoming <code>Host</code> header value into the <code>Forwarded</code> header without proper sanitization, enabling an attacker to inject arbitrary <code>for=</code> or <code>proto=</code> parameters. This misconfiguration can lead to IP address spoofing, tricking upstream services into believing requests originate from trusted or internal IP addresses (e.g., <code>127.0.0.1</code>), thereby facilitating access control bypasses for applications configured behind the Heimdall proxy.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts an HTTP GET or POST request targeting a resource behind the vulnerable Heimdall proxy.</li>
<li>The attacker includes a malicious <code>Host</code> header in the request, such as <code>Host: evil.com,for=127.0.0.1</code> or <code>Host: legit.com;for=10.0.0.1;proto=https</code>.</li>
<li>The crafted request is sent to the internet-facing Heimdall proxy instance.</li>
<li>Heimdall receives the request and, operating in proxy mode, prepares to forward it to the configured upstream service.</li>
<li>During request forwarding, Heimdall's Go application code concatenates the raw value of the incoming <code>Host</code> header into the new <code>Forwarded</code> header without sanitizing commas or semicolons.</li>
<li>Heimdall sends the modified request, now containing an injected <code>Forwarded</code> header like <code>Forwarded: for=1.2.3.4;host=evil.com, for=127.0.0.1;proto=http</code>, to the upstream application.</li>
<li>The upstream application, configured to trust the <code>Forwarded</code> header (especially the last <code>for=</code> entry), parses the injected values.</li>
<li>The upstream service misinterprets the spoofed <code>for=</code> value as the legitimate client IP, potentially bypassing IP-based access controls (e.g., allowing access to an <code>/admin-panel</code>) or logging an incorrect source IP.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The primary impact of this vulnerability is the ability for attackers to spoof client IP addresses as seen by upstream services. This can directly lead to unauthorized access to sensitive resources, such as administrator panels or internal APIs, if these services rely on IP-based access controls and trust the <code>Forwarded</code> header provided by Heimdall. Organizations using Heimdall in proxy mode with upstream applications that parse and trust the <code>Forwarded</code> header, especially those that implement IP allowlisting, are at risk. The vulnerability affects all deployments of Heimdall where these conditions are met, potentially leading to data exfiltration, privilege escalation, or full system compromise of the backend services.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately patch Heimdall installations to a version greater than 0.17.16 to address GHSA-4jgr-pg2m-m988.</li>
<li>Deploy the Sigma rules in this brief to your SIEM/detection platform to identify active exploitation attempts against your Heimdall proxy.</li>
<li>Review webserver logs for the <code>cs-host</code> field to detect patterns indicative of attempted exploitation, as identified in the &quot;Detect Heimdall Host Header Injection Attempt&quot; Sigma rule.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">threat</category><category>header-injection</category><category>proxy</category><category>access-control-bypass</category><category>ip-spoofing</category><category>vulnerability</category><category>web</category></item></channel></rss>