Heimdall: IP Spoofing via Unvalidated Forwarding Headers
What fixes it
- 0.17.17https://github.com/dadrus/heimdall, GoOSV
go get https://github.com/dadrus/heimdall@v0.17.17
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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.
Text from CVE List
Affected versions 2
- heimdallaffected: < 0.17.17CVE List
- https://github.com/dadrus/heimdall, Gofrom first release, fixed in 0.17.17OSV