This vulnerability affects oauth2-proxy deployments using the skip_auth_routes
configuration option with regex patterns. The vulnerability allows attackers to bypass authentication by crafting URLs with query parameters that satisfy the configured regex patterns, potentially gaining unauthorized access to protected resources.
The issue stems from skip_auth_routes
matching against the full request URI (path + query parameters) instead of just the path as documented. This discrepancy enables authentication bypass attacks where attackers append malicious query parameters to access protected endpoints.
Example Attack:
skip_auth_routes = [ "^/foo/.*/bar$" ]
/foo/something/bar
/foo/critical_endpoint?param=/bar
Deployments using skip_auth_routes
with regex patterns containing wildcards or broad matching patterns are most at risk, especially when backend services ignore unknown query parameters.
A patch has been released with version v7.11.0.
Immediate mitigations:
skip_auth_routes
configurations for overly permissive patterns^
and end with $
)Example secure configuration:
# Instead of: "^/public/.*"
# Use specific paths: "^/public/assets$", "^/public/health$"
skip_auth_routes = ["^/public/assets$", "^/public/health$", "^/api/status$"]
{ "nvd_published_at": "2025-07-30T20:15:37Z", "severity": "CRITICAL", "cwe_ids": [ "CWE-290" ], "github_reviewed_at": "2025-07-30T19:41:07Z", "github_reviewed": true }