Impact
OAuth2 Proxy allows unauthenticated users to obtain protected resources by exploiting fragment confusion. When skip_auth_routes or the legacy skip_auth_regex are configured with patterns that can be broadened by suffixes, the proxy misinterprets a hash–fragment indicator (# or its encoded form %23) in the request path as part of the route pattern. As a result, the proxy thinks the request matches a public rule while the downstream application receives a request to a protected resource, effectively bypassing authentication. This flaw is a direct violation of authentication controls and is documented as CWE‑288.
Affected Systems
The vulnerability exists in oauth2-proxy:oauth2-proxy versions 7.5.0 through 7.15.1 when deployments use skip_auth_routes or skip_auth_regex with patterns that can be widened by attacker‑controlled suffixes and when protected upstream services interpret # as a fragment delimiter or route the request to a protected base path. Deployments that do not use these options or that restrict skip‑auth rules to exact paths are not affected.
Risk and Exploitability
With a CVSS score of 8.2 this issue is classified as high severity. No EPSS score is available, and the vulnerability is not listed in the CISA KEV catalog. An attacker can exploit the flaw by sending a crafted HTTP request containing a hash fragment to the proxy; the request is then allowed through the proxy’s skip‑auth logic and reaches the protected backend. The attack can be performed remotely from any network where the proxy is reachable, and requires no credentials. Consequently, the risk is significant and warrants immediate remediation.
OpenCVE Enrichment