Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach heimdall with trusted_proxies enabled
-
DeliveryInject crafted Forwarded/X-Forwarded-For header
-
ExploitParser accepts unvalidated or misparsed IP value
-
ExecutionSpoofed ClientIPAddresses enters rule pipeline
-
ImpactBypass IP-based access control or spoof upstream
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitation requires that the trusted_proxies option is configured - if it is not set, heimdall ignores the Forwarded and X-Forwarded-For headers entirely and the vulnerability is not exploitable. The attacker must additionally be able to influence those forwarding headers, either by connecting directly to heimdall or through a proxy that appends rather than sanitizes/overrides them. For manipulation of rule evaluation (Scenario A) and the quoted-string misparse abuse (Scenario C), the deployment's rules must reference Request.ClientIPAddresses (e.g. a CEL authorizer using networks() for IP-range checks, or a Remote authorizer forwarding client IP); where no rule consumes this property these scenarios do not apply. In proxy mode (Scenario B), injected/malformed values are written unchanged into the X-Forwarded-For/Forwarded headers sent upstream, so impact depends on upstream services trusting that header. Limiting factors: non-default configuration (trusted_proxies) is mandatory, rule dependence on ClientIPAddresses gates the access-control-bypass path, and placing heimdall behind a proxy that overrides these headers neutralizes the attack. |
| Impact | This is a configuration- and rule-dependent access-control/spoofing flaw in heimdall, not a broadly critical remote-code issue. The supplied CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N, base 7.0) is internally telling: the vulnerable system itself has no confidentiality, integrity or availability impact (VC/VI/VA:N), and all impact falls on SUBSEQUENT systems (SC:H/SI:H) - i.e. the access-control decisions and upstream services that consume heimdall's Request.ClientIPAddresses. AT:P (attack requirements present) correctly encodes that exploitation is not universal: it requires trusted_proxies to be configured, and for the rule-evaluation scenarios, rules that actually reference Request.ClientIPAddresses. The vuln.today decision label is 'this_week' (not act_now/emergency), consistent with a meaningful but non-emergency priority. No EPSS score, no CISA KEV listing, and no exploit/PoC reference were provided in the input, so there is no signal of active or imminent exploitation - the risk is driven by exploitability of a logic/validation flaw, not by observed attacks. Net: real and worth patching promptly where the preconditions hold, but its severity is entirely gated by deployment configuration rather than being a blanket high-risk exposure. Note the Tags label this 'Information Disclosure', whereas the GHSA (CWE-116/CWE-290) frames it as IP spoofing / access-control bypass - treat the primary impact as spoofing and access-control manipulation, not data disclosure. |
| Exploit ScenarioDerived | A heimdall deployment has trusted_proxies configured and a rule (e.g. a CEL authorizer using networks()) that restricts access based on Request.ClientIPAddresses. An attacker who can set forwarding headers - by connecting directly to heimdall or via a proxy that does not sanitize them - sends a crafted Forwarded or X-Forwarded-For header containing a spoofed or malformed value, which is accepted without IP validation and used to appear as if originating from a trusted IP range, bypassing the intended access control. No public exploit was identified at time of analysis; only the advisory and release references are provided. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 23, 2026
Client-IP spoofing in dadrus Heimdall (versions up to and including 0.17.16) lets remote attackers inject arbitrary strings, malformed IP literals, RFC 7239 'unknown' values and obfuscated identifiers into Request.ClientIPAddresses whenever the optional trusted_proxies setting is enabled, because the Forwarded (for=) and X-Forwarded-For values are never checked for syntactic validity and the Forwarded parser splits on ',' and ';' without honoring quoted strings. The practical consequence is deployment-dependent: rules that consume ClientIPAddresses (for example a CEL authorizer using networks() for IP-range checks, or a Remote authorizer forwarding the client IP) can be made to evaluate against attacker-chosen values, and in proxy mode the injected values are passed upstream unchanged in X-Forwarded-For/Forwarded headers. Exploitation is gated on non-default configuration (trusted_proxies), on attacker influence over the forwarding headers, and for the access-control path on rules actually referencing ClientIPAddresses; no public exploit code was identified at time of analysis and the issue is not in CISA KEV, with remediation available in 0.17.17.
RemediationAI
Vendor-released patch: upgrade to Heimdall 0.17.17, which hardens Host, Forwarded and X-Forwarded-For header handling (commit e183d4548f7cc9327047c64de08a207abd5c3d07, issue #3315); release notes are at https://github.com/dadrus/heimdall/releases/tag/v0.17.17 and the advisory at https://github.com/dadrus/heimdall/security/advisories/GHSA-38x9-25wx-7fg2. If upgrading cannot be done immediately, the vendor's stated workarounds are: enforce at the network level that only trusted proxies can reach heimdall directly, so attackers cannot supply their own forwarding headers; configure the fronting proxy to sanitize or override (rather than merely append to) Forwarded and X-Forwarded-For before forwarding, which neutralizes the injection but requires that the proxy is authoritative for client addressing; and avoid relying on Request.ClientIPAddresses for security-sensitive decisions - for example IP-range checks in CEL authorizers using networks() or client-IP payloads in Remote authorizers - until patched, at the cost of losing those access-control restrictions. Note that leaving trusted_proxies unset makes heimdall ignore forwarding headers entirely and closes the issue, though that configuration change may break legitimate multi-hop deployments that depend on real client IPs.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Heimdall is a Go-based cloud-native Identity Aware Proxy and Access Control Decision service that evaluates a rule pipeline (authenticators, authorizers such as CEL and Remote, finalizers) against each request. When the trusted_proxies option is configured, heimdall parses the RFC 7239 Forwarded header's for= parameter and the legacy X-Forwarded-For header to derive the client address chain and exposes it to the pipeline as Request.ClientIPAddresses. The root cause is improper input validation (CWE-20), with spoofing/trust-boundary implications (CWE-290) and improper neutralization of special elements (CWE-116): extracted values are accepted verbatim without confirming they are syntactically valid IP addresses, so arbitrary strings, malformed literals, 'unknown' tokens and obfuscated identifiers all survive into the request context. A secondary parser defect compounds this - the Forwarded parser tokenizes on ',' and ';' without implementing RFC 7239 quoted-string semantics, so a single quoted value containing embedded delimiters is split into multiple pseudo-address entries, including fragments that still carry trailing quote characters. The fix in 0.17.17 (commit e183d45, issue #3315, 'Harden Host, Forwarded and X-Forwarded-For header usage') addresses the parsing and validation behavior. The CPE cpe:2.3:a:dadrus:heimdall:*:*:*:*:*:*:*:* is broadly scoped, but the advisory and module metadata pin the vulnerable range to <= 0.17.16 and the fixed version to 0.17.17. The trigger requires the non-default trusted_proxies configuration; absent it, forwarding headers are ignored entirely.
Know when Heimdall 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
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
AV:N as headers are sent over the network, PR:N/UI:N since any client can set headers with no auth, AC:H because exploitation depends on the non-default trusted_proxies config and rule use, and S:C with I:H as impact lands on downstream access decisions/upstream systems.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Heimdall is a cloud native Identity Aware Proxy and Access Control Decision service. Prior to version 0.17.17, when the trusted_proxies option is configured, heimdall extracts client IP addresses from the Forwarded (for= parameter) and X-Forwarded-For headers and exposes them as Request.ClientIPAddresses to the rule pipeline. However, extracted values are not validated to be syntactically valid IP addresses. Arbitrary strings, malformed IP literals, and RFC 7239 unknown values and obfuscated identifiers are accepted without further checks. In addition, the Forwarded header parser splits on , and ; without accounting for RFC 7239 quoted strings, which can cause a single quoted value to be parsed as multiple entries, with fragments - including trailing quote characters - treated as independent addresses. This issue has been patched in version 0.17.17.
Technical POC Analysis
CWE-20 (Improper Input Validation) is the primary weakness; the advisory also assigns CWE-116 (Improper Encoding/Escaping of Output) and CWE-290 (Authentication Bypass by Spoofing).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-57210 is a HIGH-severity client-IP spoofing vulnerability in dadrus Heimdall (up to 0.17.16) that allows attackers to inject arbitrary values into forwarded headers when trusted_proxies is enabled, potentially undermining IP-based access controls and enabling header injection to upstream services. Though exploitation requires non-default configuration, affected deployments could suffer unauthorized access if rules rely on client IP addresses. Leadership should prioritize identifying and patching exposed instances while planning configuration workarounds in the interim.
No vendor-released patch identified at time of analysis. Interim mitigations: disable trusted_proxies if not strictly required; if required, ensure it contains only trusted proxy IPs and enforce strict header validation at the network edge; use a reverse proxy to sanitize or reject malformed Forwarded/X-Forwarded-For headers; implement additional authorization checks for rules relying on ClientIPAddresses.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Authorization bypass in Heimdall cloud-native Identity Aware Proxy allows remote unauthenticated attackers to circumvent
Heimdall's case-sensitive host matching bypasses access control policies when attackers submit HTTP requests with altern
Authorization bypass in Heimdall cloud-native Identity Aware Proxy affects versions prior to 0.17.14 due to case-sensiti
Server-side request forgery in LinuxServer Heimdall through 2.8.3 lets an unauthenticated attacker coerce the server int
Forwarded-header injection in Heimdall (dadrus/heimdall) proxy mode up to and including 0.17.16 lets an unauthenticated
Server-Side Request Forgery in MITRE SAF Heimdall 2.11.6 through 2.13.x allows unauthenticated remote attackers to reach
EUVD-2026-108750
GHSA-38x9-25wx-7fg2
NVD
CVE.org
EPSS
Exploit-DB