CVE-2026-40575: Github.com/oauth2 proxy/oauth2 proxy/v7 Authentication Bypass Vulnerability
CRITICALCVE-2026-40575 is a CRITICAL (CVSS 9.1) authentication bypass vulnerability (CWE-290: Authentication Bypass by Spoofing) affecting Github.com/oauth2 proxy/oauth2 proxy/v7 libraries in the Go ecosystem. The issue involves oauth2 proxy has an authentication bypass via x-forwarded-uri header spoofing. Remediation is available by upgrading affected packages to version 7.15.2.
CVE-2026-40575 at a Glance
Security Impact
CVSS: 9.1
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N).
How to Fix CVE-2026-40575
To remediate this vulnerability, upgrade all affected Github.com/oauth2 proxy/oauth2 proxy/v7 dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/oauth2-proxy/oauth2-proxy/v7 to 7.15.2
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/oauth2-proxy/oauth2-proxy/v7
How to Check if You Are Affected
To determine whether your application is affected by CVE-2026-40575, inspect your project dependencies for Github.com/oauth2 proxy/oauth2 proxy/v7:
inspect dependencies for github.com/oauth2-proxy/oauth2-proxy/v7
Analyze the terminal output to locate any version of Github.com/oauth2 proxy/oauth2 proxy/v7 in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 7.15.2), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-290: Authentication Bypass by Spoofing, where this attack-focused weakness is caused by incorrectly implemented authentication schemes that are subject to spoofing attacks. In Github.com/oauth2 proxy/oauth2 proxy/v7, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-40575 Affected Github.com/oauth2 proxy/oauth2 proxy/v7 Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/oauth2-proxy/oauth2-proxy/v7
|
Go |
≥ 7.5.0
< 7.15.2
|
7.15.2
|
References
Frequently Asked Questions
What is CVE-2026-40575?
Which Github.com/oauth2 proxy/oauth2 proxy/v7 versions are affected?
What version fixes CVE-2026-40575?
Is github.com/oauth2-proxy/oauth2-proxy/v7 affected?
What is the CVSS score of CVE-2026-40575?
What CWE is associated with CVE-2026-40575?
How can I check Go dependencies for CVE-2026-40575?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-7x63-xv5r-3p2x",
"modified" : "2026-07-21T13:50:15Z",
"published" : "2026-04-15T19:21:06Z",
"aliases" : [ "CVE-2026-40575" ],
"summary" : "OAuth2 Proxy has an Authentication Bypass via X-Forwarded-Uri Header Spoofing",
"details" : "### Impact\n\nA configuration-dependent authentication bypass exists in OAuth2 Proxy.\n\nDeployments are affected when all of the following are true:\n\n* OAuth2 Proxy is configured with `--reverse-proxy`\n* and at least one rule is defined with `--skip_auth_routes` or the legacy `--skip-auth-regex`\n\nOAuth2 Proxy may trust a client-supplied `X-Forwarded-Uri` header when `--reverse-proxy` is enabled and `--skip-auth-route` or `--skip-auth-regex` 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.\n\nThis can result in an unauthenticated remote attacker bypassing authentication and accessing protected routes without a valid session.\n\n\n### Patches\nThis issue is addressed as part of the newly introduced `--trusted-proxy-ip` flag in `v7.15.2`. If you leave it unset, OAuth2 Proxy will **continue to trust ALL** source IPs (0.0.0.0/0) for backwards compatibility, which means a client may still be able to spoof forwarded headers. Therefore after upgrading we urge you to use the new `--trusted-proxy-ip` flag to set the IPs or CIDR ranges of the reverse proxies that are allowed to send `X-Forwarded-*` headers and furthermore implement the mitigation steps outlined below to properly configure your load balancer infrastructure.\n\n### Mitigation\n\n- Strip any client-provided `X-Forwarded-Uri` header at the reverse proxy or load balancer level\n- Explicitly overwrite `X-Forwarded-Uri` with the actual request URI before forwarding requests to OAuth2 Proxy\n\n Example nginx mitigation for the auth subrequest:\n ```\n location /internal-auth/ {\n internal; # Ensure external users can't access this path\n \n # Make sure the OAuth2 Proxy knows where the original request came from.\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n # set the value to the actual $request_uri and therefore strip any user provided X-Forwarded-Uri\n proxy_set_header X-Forwarded-Uri $request_uri;\n \n proxy_pass http://oauth2-proxy:4180/;\n }\n ```\n- Restrict direct client access to OAuth2 Proxy so it can only be reached through a trusted reverse proxy\n- Remove or narrow `--skip-auth-route` / `--skip-auth-regex` rules where possible",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/oauth2-proxy/oauth2-proxy/v7"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "7.5.0"
}, {
"fixed" : "7.15.2"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-7x63-xv5r-3p2x"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-40575"
}, {
"type" : "WEB",
"url" : "https://access.redhat.com/security/cve/CVE-2026-40575"
}, {
"type" : "WEB",
"url" : "https://bugzilla.redhat.com/show_bug.cgi?id=2460449"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/oauth2-proxy/oauth2-proxy"
}, {
"type" : "WEB",
"url" : "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-40575.json"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-290" ],
"severity" : "CRITICAL",
"github_reviewed" : true,
"github_reviewed_at" : "2026-04-15T19:21:06Z",
"nvd_published_at" : "2026-04-22T00:16:27Z"
}
}