{"cve":"CVE-2026-40575","nvd":{"published":"2026-04-22T00:16:27.817","modified":"2026-07-15T02:21:07.520","status":"Modified","description":"OAuth2 Proxy is a reverse proxy that provides authentication using OAuth2 providers. Versions 7.5.0 through 7.15.1 may trust a client-supplied `X-Forwarded-Uri` header when `--reverse-proxy` is enabled and `--skip-auth-regex` or `--skip-auth-route` is configured. An attacker can spoof this header so OAuth2 Proxy evaluates authentication and skip-auth rules against a different path than the one actually sent to the upstream application. This can result in an unauthenticated remote attacker bypassing authentication and accessing protected routes without a valid session. Impacted users are deployments that run oauth2-proxy with `--reverse-proxy` enabled and configure at least one `--skip-auth-regex` or `--skip-auth-route` rule. This issue is patched in `v7.15.2`. Some workarounds are available for those who cannot upgrade immediately. Strip any client-provided `X-Forwarded-Uri` header at the reverse proxy or load balancer level; explicitly overwrite `X-Forwarded-Uri` with the actual request URI before forwarding requests to OAuth2 Proxy; restrict direct client access to OAuth2 Proxy so it can only be reached through a trusted reverse proxy; and/or remove or narrow `--skip-auth-regex` / `--skip-auth-route` rules where possible. For nginx-based deployments, ensure `X-Forwarded-Uri` is set by nginx and not passed through from the client.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","score":9.1},"cwes":["CWE-290"],"references":["https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-7x63-xv5r-3p2x","https://access.redhat.com/security/cve/CVE-2026-40575","https://bugzilla.redhat.com/show_bug.cgi?id=2460449","https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-40575.json"],"products":["oauth2_proxy_project:oauth2_proxy"],"source":"nvd","synced_at":"2026-10-19T22:30:49.762551342+00:00"},"epss":{"cve":"CVE-2026-40575","score":0.00477,"percentile":0.41232,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-7x63-xv5r-3p2x","url":"https://osv.dev/vulnerability/GHSA-7x63-xv5r-3p2x","summary":"OAuth2 Proxy has an Authentication Bypass via X-Forwarded-Uri Header Spoofing","modified":"2026-09-25T14:25:56.584542414Z","packages":[{"ecosystem":"Go","name":"github.com/oauth2-proxy/oauth2-proxy/v7","purl":"pkg:golang/github.com/oauth2-proxy/oauth2-proxy/v7","ranges":[">=7.5.0 <7.15.2"],"fixed":["7.15.2"]}]},{"id":"GO-2026-5236","url":"https://osv.dev/vulnerability/GO-2026-5236","summary":"OAuth2 Proxy has an Authentication Bypass via X-Forwarded-Uri Header Spoofing in github.com/oauth2-proxy/oauth2-proxy","modified":"2026-09-25T14:25:56.584542414Z","packages":[{"ecosystem":"Go","name":"github.com/oauth2-proxy/oauth2-proxy","purl":"pkg:golang/github.com/oauth2-proxy/oauth2-proxy","ranges":["all versions"],"fixed":[]},{"ecosystem":"Go","name":"github.com/oauth2-proxy/oauth2-proxy/v7","purl":"pkg:golang/github.com/oauth2-proxy/oauth2-proxy/v7","ranges":[">=7.5.0 <7.15.2"],"fixed":["7.15.2"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}