CVE-2026-34457 — v7
CRITICALCVE-2026-34457 is a critical-severity (CVSS 9.1) CWE-290 vulnerability in github.com/oauth2-proxy/oauth2-proxy/v7. A fix is available for github.com/oauth2-proxy/oauth2-proxy/v7 — see the affected versions and patch details below.
OAuth2 Proxy: Health Check User-Agent Matching Bypasses Authentication in auth_request Mode
Exploitation Status
No confirmed exploitation observed yet
- CISA assesses this as automatable — exploitation doesn’t require manual, per-target effort, which raises the odds of mass scanning and opportunistic attacks.
- A successful exploit gives an attacker total control of the affected component, not partial access.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2026-34457.
EPSS Exploitation Probability
EPSS (Exploit Prediction Scoring System) is a daily probability model maintained by FIRST.org. It estimates the likelihood a CVE will be exploited in production environments within the next 30 days, derived from real-world threat intelligence signals.
How urgent is this, really
CVE-2026-34457 plotted by exploitation likelihood (EPSS) against impact (CVSS). The shaded corner — EPSS 50%+ and CVSS 7.0+ — is where this CVE doesn't sit, though severity or exploitability alone can still warrant action.
Where this sits among everything scored
Of 378,156 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Real counts from FIRST.org, not a sample — log-scaled since the landscape is heavily right-skewed.
Real-World Exposure
github.com/oauth2-proxy/oauth2-proxy/v7🐹github.com/oauth2-proxy/oauth2-proxyReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Go packages — download data is not available via public APIs for these ecosystems.
Description
Impact
A configuration-dependent authentication bypass exists in OAuth2 Proxy.
Deployments are affected when all of the following are true:
- OAuth2 Proxy is used with an
auth_request-style integration (for example, nginxauth_request) --ping-user-agentis set or--gcp-healthchecksis enabled
In affected configurations, OAuth2 Proxy will treat a request with the configured health check User-Agent value as a successful health check regardless of the requested path. This allows an unauthenticated remote attacker to bypass authentication and access protected upstream resources without completing the normal login flow.
This issue does not affect deployments that do not use auth_request-style subrequests, or that do not enable --ping-user-agent/--gcp-healthchecks.
Patches
Users should upgrade to v7.15.2 or later once available. Deployments running versions prior to v7.15.2 should be considered affected if they use auth_request-style authentication together with --ping-user-agent or --gcp-healthchecks.
Workarounds
Users can mitigate this issue by:
- disabling
--gcp-healthchecks - removing any configured
--ping-user-agent - ensuring the reverse proxy does not forward client-controlled
User-Agentheaders to the OAuth2 Proxy auth subrequest - using path-based health checks only, on dedicated health check endpoints
Example nginx mitigation for the auth subrequest:
location = /oauth2/auth {
internal;
proxy_pass http://127.0.0.1:4180;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header Host $host;
# set to value that isn't the same as your configured PingUserAgent or GCPs "GoogleHC/1.0"
proxy_set_header User-Agent "oauth2-proxy-auth-request";
}
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐹Go | github.com/oauth2-proxy/oauth2-proxy/v7 | all versions | 7.15.2go get github.com/oauth2-proxy/oauth2-proxy/v7@v7.15.2 |
| 🐹Go | github.com/oauth2-proxy/oauth2-proxy | all versions | No fix |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for github.com/oauth2-proxy/oauth2-proxy/v7, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update github.com/oauth2-proxy/oauth2-proxy/v7 to 7.15.2 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-34457 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like CVE-2026-34457 can be triaged on real exposure rather than presence alone.
Tailored to CVE-2026-34457. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is CVE-2026-34457 in your dependencies?
O3 Security finds CVE-2026-34457 across Go dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.