Loading...
Skip to main content

CVE-2026-40575 — Vulnerability in...

CRITICAL

OAuth2 Proxy has an Authentication Bypass via X-Forwarded-Uri Header Spoofing

Published April 15, 2026Updated September 25, 2026Source: osv

Summary

### Impact A configuration-dependent authentication bypass exists in OAuth2 Proxy. Deployments are affected when all of the following are true: * OAuth2 Proxy is configured with `--reverse-proxy` * and at least one rule is defined with `--skip_auth_routes` or the legacy `--skip-auth-regex` OAuth2 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. This can result in an unauthenticated remote attacker bypassing authentication and accessing protected routes without a valid session. ### Patches This 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. ### Mitigation - 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 Example nginx mitigation for the auth subrequest: ``` location /internal-auth/ { internal; # Ensure external users can't access this path # Make sure the OAuth2 Proxy knows where the original request came from. proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # set the value to the actual $request_uri and therefore strip any user provided X-Forwarded-Uri proxy_set_header X-Forwarded-Uri $request_uri; proxy_pass http://oauth2-proxy:4180/; } ``` - Restrict direct client access to OAuth2 Proxy so it can only be reached through a trusted reverse proxy - Remove or narrow `--skip-auth-route` / `--skip-auth-regex` rules where possible

Advisory Timeline

  • First published April 15, 2026 (180 days ago).
  • Last revised September 25, 2026 — 163 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Go
Update github.com/oauth2-proxy/oauth2-proxy/v7 to 7.15.2 or later
go get github.com/oauth2-proxy/oauth2-proxy/v7@v7.15.2

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: go (1).

PackageEcosystemAffectedFixed In
github.com/oauth2-proxy/oauth2-proxy/v7
go
All versions7.15.2

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.1 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Frequently Asked Questions

What is CVE-2026-40575?
OAuth2 Proxy has an Authentication Bypass via X-Forwarded-Uri Header Spoofing This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.1/10).
How do I check if my project is affected by CVE-2026-40575?
CVE-2026-40575 affects github.com/oauth2-proxy/oauth2-proxy/v7. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-40575 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.1

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-7x63-xv5r-3p2x
BIT-oauth2-proxy-2026-40575
BIT-oauth2-proxy-2026-76835
CVE-2026-76835
GO-2026-5236

Related CVEs

  • CVE-2026-34457
    CRITICAL

    OAuth2 Proxy's Health Check User-Agent Matching Bypasses Authentication in auth_request Mode

  • CVE-2025-54576
    CRITICAL

    OAuth2-Proxy has authentication bypass in oauth2-proxy skip_auth_routes due to Query Parameter inclusion

  • CVE-2026-107806
    CRITICAL

    Nginx UI: Authenticated Remote Code Execution via Backup Restore App Config Overwrite

  • CVE-2026-68582
    CRITICAL

    Vikunja: Link-share token reads any tenant's kanban buckets and enumerates usernames/IDs instance-wide (BOLA)

  • CVE-2025-64484
    HIGH

    OAuth2-Proxy is vulnerable to header smuggling via underscore leading to potential privilege escalation

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies