VDB
EN

GO-2026-5075

Heimdall: IP Spoofing via Unvalidated Forwarding Headers in github.com/dadrus/heimdall

빠른 조치

GO-2026-5075 — github.com/dadrus/heimdall: 아래 명령으로 수정 버전으로 올리세요.

go get github.com/dadrus/heimdall@v0.17.17

상세

When the trusted_proxies option is configured, heimdall extracts client IP addresses from the Forwarded 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 commas and semicolons without accounting for RFC 7239 quoted strings, which can cause a single quoted value to be parsed as multiple entries, with fragments treated as independent addresses.

Request.ClientIPAddresses is available to all pipeline mechanisms. Its contents can therefore influence rule evaluation in deployments where rules reference this property. Additionally, in proxy mode, Request.ClientIPAddresses is used directly to construct the X-Forwarded-For and Forwarded headers forwarded to upstream services. Injected or malformed values are therefore propagated to upstream services unchanged.

An attacker who can influence forwarding headers can inject arbitrary values into Request.ClientIPAddresses. In deployments where a rule references this property, this may allow an attacker to bypass the intended access control logic. In proxy mode, upstream services that trust this header may receive and act on attacker-controlled IP values.

이 버전이 영향받나요?

사용 중인 패키지 버전을 입력하면 즉시 평가합니다.

영향 패키지

Go / github.com/dadrus/heimdall
최초 영향 버전: 0 수정 버전: 0.17.17
수정 go get github.com/dadrus/heimdall@v0.17.17

참고