CVE-2026-76835: OAuth2 Proxy 7.15.2 through 7.15.4 Authentication Bypass via X-Forwarded-Uri Under the Default Trusted Proxy Set

Published Aug 24, 2026
·
Updated

OAuth2 Proxy honours a client-supplied X-Forwarded-Uri header when deciding whether a request may skip authentication, because the guard added for CVE-2026-40575 is inert in the default reverse-proxy configuration. GetRequestURI in pkg/requests/util/util.go prefers that header over the real request URI whenever CanTrustForwardedHeaders returns true, and isAllowedPath in oauthproxy.go matches the skipauthroutes and skipauthregex allow list against the resulting path. CanTrustForwardedHeaders in pkg/apis/middleware/scope.go grants that trust when the caller's address is in the trusted proxy set, and buildTrustedProxyNetSet falls back to defaultTrustedProxyIPs, which is 0.0.0.0/0 and ::/0, whenever reverse proxy mode is enabled without trustedproxyip configured. Every client is therefore treated as a trusted proxy. An unauthenticated attacker can request a protected upstream path while setting X-Forwarded-Uri to a value matching an allow-listed route, so the skip-auth decision is made against the spoofed value while the upstream receives the protected path unchanged.

Affected Software

1 affected component
OAuth2 Proxy OAuth2 Proxy>=7.15.2<=7.15.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade OAuth2 Proxy to a version that resolves this vulnerability.

    Fixed in 7.15.2
  2. Upgrade

    Upgrade OAuth2 Proxy to a version that resolves this vulnerability.

    Fixed in 7.15.4

Event History

Aug 24, 2026
CVE Published
via MITRE·05:55 PM
Data Sourced
via MITRE·05:55 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·06:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed by the default configuration?

Deployments running OAuth2 Proxy 7.15.2 through 7.15.4 are exposed when reverse proxy mode is enabled and trusted_proxy_ip is not configured. In that case, the default trusted proxy set includes 0.0.0.0/0 and ::/0, so any client is treated as a trusted proxy.

2

What does an attacker need to exploit this?

An unauthenticated network attacker only needs to send a request to OAuth2 Proxy with a client-supplied X-Forwarded-Uri value that matches a configured skip_auth_routes or skip_auth_regex allow-list entry. The attacker can request a protected upstream path while the spoofed header causes the authentication-skip decision.

3

What configuration change can reduce exposure if patching is not immediately possible?

Configure trusted_proxy_ip so that it contains only the actual reverse proxy addresses, rather than relying on the default trusted proxy set. This prevents arbitrary clients from being considered trusted for forwarded headers.

4

How can I determine whether my instance is vulnerable?

Check whether the instance is running version 7.15.2, 7.15.3, or 7.15.4, has reverse proxy mode enabled, lacks a trusted_proxy_ip configuration, and uses skip_auth_routes or skip_auth_regex. Under those conditions, a client-controlled X-Forwarded-Uri can influence the path used for the skip-auth check.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203