CVE-2026-76835
OAuth2 Proxy 7.15.2 through 7.15.4 Authentication Bypass via X-Forwarded-Uri Under the Default Trusted Proxy Set
Description
OAuth2 Proxy honours a client-supplied X-Forwarded-Uri header when deciding whether a request may skip authentication, because the guard added for CVE-2026-40575 is inert in the default reverse-proxy configuration. GetRequestURI in pkg/requests/util/util.go prefers that header over the real request URI whenever CanTrustForwardedHeaders returns true, and isAllowedPath in oauthproxy.go matches the skip_auth_routes and skip_auth_regex allow list against the resulting path. CanTrustForwardedHeaders in pkg/apis/middleware/scope.go grants that trust when the caller's address is in the trusted proxy set, and buildTrustedProxyNetSet falls back to defaultTrustedProxyIPs, which is 0.0.0.0/0 and ::/0, whenever reverse proxy mode is enabled without trusted_proxy_ip configured. Every client is therefore treated as a trusted proxy. An unauthenticated attacker can request a protected upstream path while setting X-Forwarded-Uri to a value matching an allow-listed route, so the skip-auth decision is made against the spoofed value while the upstream receives the protected path unchanged.
INFO
Published Date :
Aug. 24, 2026, 6:17 p.m.
Last Modified :
Oct. 13, 2026, 9:10 a.m.
Remotely Exploit :
Yes !
Source :
[email protected]
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | CRITICAL | 83251b91-4cc7-4094-a5c7-464a1b83ea10 | ||||
| CVSS 3.1 | CRITICAL | [email protected] | ||||
| CVSS 3.1 | CRITICAL | MITRE-CVE | ||||
| CVSS 4.0 | CRITICAL | 83251b91-4cc7-4094-a5c7-464a1b83ea10 | ||||
| CVSS 4.0 | CRITICAL | [email protected] |
Solution
- Configure 'trusted_proxy_ip' with specific proxy IP addresses.
- Update OAuth2 Proxy to the latest version.
- Ensure reverse proxy mode is configured correctly.
- Review and apply security patches promptly.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-76835.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-76835 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-76835
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-76835 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-76835 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Translated by [email protected]
Oct. 13, 2026
Action Type Old Value New Value Added Translation Title: oauth2-proxy, Description: OAuth2 Proxy respeta un encabezado X-Forwarded-Uri proporcionado por el cliente al decidir si una solicitud puede omitir la autenticación, porque la protección añadida para CVE-2026-40575 es inerte en la configuración predeterminada de proxy inverso. GetRequestURI en pkg/requests/util/util.go prefiere ese encabezado sobre la URI de solicitud real siempre que CanTrustForwardedHeaders devuelva verdadero, e isAllowedPath en oauthproxy.go compara la lista de permitidos skip_auth_routes y skip_auth_regex con la ruta resultante. CanTrustForwardedHeaders en pkg/apis/middleware/scope.go otorga esa confianza cuando la dirección del llamante está en el conjunto de proxies de confianza, y buildTrustedProxyNetSet recurre a defaultTrustedProxyIPs, que es 0.0.0.0/0 y ::/0, siempre que el modo de proxy inverso esté habilitado sin trusted_proxy_ip configurado. Cada cliente es, por lo tanto, tratado como un proxy de confianza. Un atacante no autenticado puede solicitar una ruta ascendente protegida mientras establece X-Forwarded-Uri a un valor que coincide con una ruta permitida, por lo que la decisión de omitir la autenticación se toma contra el valor falsificado mientras que el sistema ascendente recibe la ruta protegida sin cambios. -
CVE Modified by [email protected]
Oct. 08, 2026
Action Type Old Value New Value Added Affected Affected value modified. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/76xxx/CVE-2026-76835.json">CVE-2026-76835</a> Added Reference https://github.com/oauth2-proxy/oauth2-proxy Added Reference https://github.com/oauth2-proxy/oauth2-proxy/blob/v7.15.4/pkg/apis/middleware/scope.go Added Reference https://github.com/oauth2-proxy/oauth2-proxy/issues/3506 Added Reference https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-7x63-xv5r-3p2x Added Reference https://www.vulncheck.com/advisories/oauth2-proxy-through-authentication-bypass-via-x-forwarded-uri-under-the-default-trusted-proxy-set Removed Reference https://github.com/oauth2-proxy/oauth2-proxy Removed Reference https://github.com/oauth2-proxy/oauth2-proxy/blob/v7.15.4/pkg/apis/middleware/scope.go Removed Reference https://github.com/oauth2-proxy/oauth2-proxy/issues/3506 Removed Reference https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-7x63-xv5r-3p2x Removed Reference https://www.vulncheck.com/advisories/oauth2-proxy-through-authentication-bypass-via-x-forwarded-uri-under-the-default-trusted-proxy-set -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Oct. 08, 2026
Action Type Old Value New Value Added Reference https://github.com/oauth2-proxy/oauth2-proxy/issues/3506 Removed Reference https://github.com/oauth2-proxy/oauth2-proxy/issues/3506 -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Aug. 24, 2026
Action Type Old Value New Value Added Reference https://github.com/oauth2-proxy/oauth2-proxy/issues/3506 Added SSVC {'id': 'CVE-2026-76835', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'poc'}, {'automatable': 'yes'}, {'technicalImpact': 'total'}], 'version': '2.0.3', 'timestamp': '2026-08-24T20:00:05.680574Z'} -
New CVE Received by [email protected]
Aug. 24, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://github.com/oauth2-proxy/oauth2-proxy', 'vendor': 'oauth2-proxy', 'product': 'oauth2-proxy', 'versions': [{'status': 'affected', 'version': '7.15.2', 'versionType': 'semver', 'lessThanOrEqual': '7.15.4'}], 'packageURL': 'pkg:golang/github.com/oauth2-proxy/oauth2-proxy', 'defaultStatus': 'unaffected'}] Added Description OAuth2 Proxy honours a client-supplied X-Forwarded-Uri header when deciding whether a request may skip authentication, because the guard added for CVE-2026-40575 is inert in the default reverse-proxy configuration. GetRequestURI in pkg/requests/util/util.go prefers that header over the real request URI whenever CanTrustForwardedHeaders returns true, and isAllowedPath in oauthproxy.go matches the skip_auth_routes and skip_auth_regex allow list against the resulting path. CanTrustForwardedHeaders in pkg/apis/middleware/scope.go grants that trust when the caller's address is in the trusted proxy set, and buildTrustedProxyNetSet falls back to defaultTrustedProxyIPs, which is 0.0.0.0/0 and ::/0, whenever reverse proxy mode is enabled without trusted_proxy_ip configured. Every client is therefore treated as a trusted proxy. An unauthenticated attacker can request a protected upstream path while setting X-Forwarded-Uri to a value matching an allow-listed route, so the skip-auth decision is made against the spoofed value while the upstream receives the protected path unchanged. Added CVSS V4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N Added CWE CWE-290 Added Reference https://github.com/oauth2-proxy/oauth2-proxy Added Reference https://github.com/oauth2-proxy/oauth2-proxy/blob/v7.15.4/pkg/apis/middleware/scope.go Added Reference https://github.com/oauth2-proxy/oauth2-proxy/issues/3506 Added Reference https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-7x63-xv5r-3p2x Added Reference https://www.vulncheck.com/advisories/oauth2-proxy-through-authentication-bypass-via-x-forwarded-uri-under-the-default-trusted-proxy-set