Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach OAuth2 Proxy directly over HTTP
-
DeliveryRequest protected upstream path
-
ExploitSet X-Forwarded-Uri to allow-listed route
-
ExecutionSkip-auth guard matches spoofed path
-
ImpactUpstream serves protected content unauthenticated
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Anti-spoofing controls
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the target OAuth2 Proxy to be running with --reverse-proxy enabled, at least one --skip_auth_routes or legacy --skip-auth-regex rule configured, and --trusted-proxy-ip left unset (so the trusted-proxy set defaults to 0.0.0.0/0 and ::/0). The attacker must be able to send HTTP requests directly to OAuth2 Proxy and must know or guess an allow-listed path to place in the X-Forwarded-Uri header. Limiting factors: if trusted_proxy_ip is explicitly configured to the real proxy CIDRs, if no skip-auth rules exist, or if the fronting load balancer already strips or overwrites X-Forwarded-Uri, the bypass does not work; no authentication or user interaction is required against a vulnerable configuration. |
| Impact | The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N, score 9.3, Critical) reflects a network-reachable, unauthenticated bypass with high confidentiality and integrity impact, consistent with the advisory. However, the raw score understates the deployment gating: exploitation only works when --reverse-proxy is enabled AND at least one --skip_auth_routes / --skip-auth-regex rule exists AND --trusted-proxy-ip is left unset. These are common-but-not-universal conditions, so real-world exposure is narrower than an unconditional 9.3 implies. No EPSS score, KEV listing, or public POC was provided; this is a disclosure with a vendor patch rather than evidence of active exploitation, so treat it as a high-priority patch for affected deployments rather than an in-the-wild emergency. The signals are internally consistent (network vector matches an HTTP header-spoofing bug); the main caveat is the configuration dependency, which defenders must verify against their own deployment. |
| Exploit ScenarioDerived | An attacker directly requests a protected upstream path (for example /admin) through OAuth2 Proxy while adding a header such as X-Forwarded-Uri: /public/health that matches an allow-listed skip_auth_route. OAuth2 Proxy trusts the header because the default trusted-proxy set is 0.0.0.0/0, evaluates the skip-auth decision against the spoofed value, and forwards the real protected path to the upstream unauthenticated. No exploit code has been published, but the attack is a trivial single crafted HTTP request given AV:N/AC:L/PR:N. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 24, 2026
Authentication bypass in OAuth2 Proxy (versions 7.5.0 up to but excluding 7.15.2) lets an unauthenticated remote attacker reach protected upstream routes by spoofing the X-Forwarded-Uri header. Because the trusted-proxy IP set defaults to 0.0.0.0/0 (and ::/0) whenever --reverse-proxy is enabled without --trusted-proxy-ip, every client is treated as a trusted proxy, so the skip-auth allow list is matched against the attacker-controlled header value while the real protected path is passed to the upstream. Reported by VulnCheck with a coordinated GitHub Security Advisory (GHSA-7x63-xv5r-3p2x); no public exploit identified at time of analysis, and it is not listed in CISA KEV.
RemediationAI
Vendor-released patch: upgrade to OAuth2 Proxy 7.15.2 or later. Note that upgrading alone is not sufficient - the fix introduces the --trusted-proxy-ip flag, but if left unset OAuth2 Proxy continues to trust ALL source IPs (0.0.0.0/0) for backwards compatibility, so after upgrading you must set --trusted-proxy-ip to the exact IPs or CIDR ranges of your legitimate reverse proxies/load balancers. Additional compensating controls: strip or explicitly overwrite the client-provided X-Forwarded-Uri header at the load balancer (for example in nginx, set proxy_set_header X-Forwarded-Uri $request_uri; on the internal auth location so any user-supplied value is replaced with the real request URI); restrict direct network access so OAuth2 Proxy is only reachable through a trusted reverse proxy; and remove or narrow --skip_auth_routes / --skip-auth-regex rules where possible (side effect: routes previously exempted from auth will then require a valid session). Advisory guidance: https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-7x63-xv5r-3p2x.
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
OAuth2 Proxy is a Go-based reverse-proxy/forward-auth service that fronts upstream applications and enforces OIDC/OAuth2 authentication, commonly deployed as a Kubernetes ingress auth sidecar or standalone gate. The root cause is CWE-290 (Authentication Bypass by Spoofing): GetRequestURI in pkg/requests/util/util.go prefers the client-supplied X-Forwarded-Uri header over the actual request URI when CanTrustForwardedHeaders returns true, and isAllowedPath in oauthproxy.go evaluates the skip_auth_routes / skip_auth_regex allow list against that spoofable path. CanTrustForwardedHeaders in pkg/apis/middleware/scope.go grants trust based on the caller's source address being in the trusted-proxy set, but buildTrustedProxyNetSet falls back to defaultTrustedProxyIPs (0.0.0.0/0, ::/0) when reverse-proxy mode is on and trusted_proxy_ip is unset. The guard intended to fix the earlier CVE-2026-40575 is therefore inert in the default reverse-proxy configuration. The affected code is the Go module github.com/oauth2-proxy/oauth2-proxy/v7 (CPE cpe:2.3:a:oauth2-proxy:oauth2-proxy:*:*:*:*:*:*:*:*).
Know when Oauth2 Proxy 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:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Unauthenticated single-request header spoof over the network gives PR:N/AC:L/UI:N; the bypass exposes and can alter protected upstream resources (C:H/I:H) with no availability impact; scope kept U conservatively.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
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 skip_auth_routes and skip_auth_regex 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 trusted_proxy_ip 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.
Executive ViewAI
OAuth2 Proxy versions 7.5.0 through 7.15.1 contain a critical authentication bypass vulnerability that allows unauthenticated remote attackers to access protected applications and data. The vulnerability stems from insecure default security settings that treat all network traffic as trusted, rendering authentication controls ineffective. Organizations deploying this proxy solution without explicit security hardening are at immediate risk of unauthorized access to sensitive upstream resources.
Configure --trusted-proxy-ip to explicitly specify only trusted reverse proxy IP addresses, which prevents exploitation of this vulnerability without requiring a version upgrade. This configuration change requires no downtime and can be deployed immediately. No vendor-released patch identified at time of analysis.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Oauth2 Proxy
View allOAuth2 Proxy is an open-source reverse proxy and static file server that provides authentication using Providers (Google
OAuth2 Proxy before 5.0 has an open redirect vulnerability. Rated medium severity (CVSS 6.1), this vulnerability is remo
Authentication bypass in OAuth2 Proxy versions before 7.15.2 allows remote unauthenticated attackers to access protected
CSRF in Bitly oauth2_proxy 2.1 during authentication flow. Rated high severity (CVSS 8.8), this vulnerability is remotel
Authentication bypass in OAuth2 Proxy 7.5.0-7.15.1 allows remote unauthenticated attackers to access protected resources
The Bitly oauth2_proxy in version 2.1 and earlier was affected by an open redirect vulnerability during the start and te
In OAuth2 Proxy before 5.1.1, there is an open redirect vulnerability. Rated medium severity (CVSS 6.1), this vulnerabil
OAuth2-Proxy is an open source reverse proxy that provides authentication with Google, Github or other providers. Rated
In OAuth2 Proxy from version 5.1.1 and less than version 6.0.0, users can provide a redirect address for the proxy to se
OAuth2 Proxy versions 7.11.0 through 7.15.1 fail to clear the session cookie when rendering the sign-in page due to a re
EUVD-2026-65061
GHSA-vvqv-7vrf-88vh
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB