oauth2-proxy/pkg/apis
Georgi Georgiev 08ce94d1c0 security: harden X-Forwarded-For parsing against spoofing
The real-client-IP lookup used by the --trusted-ip auth-bypass allowlist
blindly trusted the leftmost value in X-Forwarded-For (or other
configured --real-client-ip-header). When trusting X-Forwarded-For (which
is the only header set by AWS ALB for example) the connecting peer's
address is appended to X-Forwarded-For rather than replacing the header,
and a client could set X-Forwarded-For to an allowlisted IP and have it
trusted regardless of who actually connected to the proxy.

The parser now walks the hop chain from the newest (rightmost) entry
inward, skipping hops that are themselves trusted proxies, and returns
the first entry that isn't. If the direct connecting peer isn't itself a
trusted proxy, the header is ignored entirely. This reuses the existing
--trusted-proxy-ip configuration, so behavior for deployments that leave
it unset (today's documented trust-all default) is unchanged.

Signed-off-by: Georgi Georgiev <310867+chutzimir@users.noreply.github.com>
2026-07-21 03:53:36 +09:00
..
ip security: harden X-Forwarded-For parsing against spoofing 2026-07-21 03:53:36 +09:00
middleware Merge commit from fork 2026-04-13 18:22:56 +02:00
options chore(goconsts): use proper constants for http methods 2026-06-08 12:54:58 +02:00
sessions fix: improve logging when session refresh token is missing (#3327) 2026-03-23 10:54:32 +01:00