Cyber Resilience

CVE-2026-41059

Auth Bypass in Oauth2 Proxy Project Oauth2 Proxy 7.5.0 – 7.15.2

Published
22 April 2026
Modified
27 April 2026
Patch / advisory
CVSS Score v3.1 8.2
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
EPSS Score 0.0027 20th percentile
Risk Priority 60 floored blend · peak EPSS

Summary

CVE-2026-41059 is a high-severity Authentication Bypass Using an Alternate Path or Channel (CWE-288) vulnerability in Oauth2 Proxy Project Oauth2 Proxy. Its CVSS base score is 8.2 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 20th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-25 (Reference Monitor) and AC-3 (Access Enforcement) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

OAuth2 Proxy, a reverse proxy for authentication using OAuth2 providers, contains a configuration-dependent authentication bypass vulnerability in versions 7.5.0 through 7.15.1, tracked as CVE-2026-41059 with a CVSS score of 8.2 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N) and mapped to CWE-288. The issue arises in deployments using `skip_auth_routes` or the legacy `skip_auth_regex` with patterns that can be widened by attacker-controlled suffixes, such as `^/foo/.*/bar$`, potentially exposing paths like `/foo/secret`. Protected upstream applications that interpret `#` as a fragment delimiter or route requests to the protected base path are particularly at risk. Deployments without these skip-auth options or with exact, tightly scoped public paths and methods are unaffected.

An unauthenticated attacker can exploit this by sending a crafted request with a number sign (`#`) in the path, including the browser-safe encoded form `%23`. This causes OAuth2 Proxy to match a public allowlist rule while the backend serves the protected resource, enabling unauthorized access to sensitive data with high confidentiality impact and low integrity impact.

The GitHub security advisory (GHSA-pxq7-h93f-9jrg) details a fix in version 7.15.2, which normalizes request paths more conservatively before skip-auth matching to prevent fragment content from influencing allowlist decisions. For immediate mitigation, users should tighten or remove `skip_auth_routes` and `skip_auth_regex` rules, favoring exact anchored public paths with explicit HTTP methods; reject requests containing `%23` or `#` at the ingress, load balancer, or WAF; and avoid placing sensitive paths behind broad skip-auth rules.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

OAuth2 Proxy is a reverse proxy that provides authentication using OAuth2 providers. Versions 7.5.0 through 7.15.1 have a configuration-dependent authentication bypass. Deployments are affected when all of the following are true: Use of `skip_auth_routes` or the legacy `skip_auth_regex`; use of…

more

patterns that can be widened by attacker-controlled suffixes, such as `^/foo/.*/bar$` causing potential exposure of `/foo/secret`; and protected upstream applications that interpret `#` as a fragment delimiter or otherwise route the request to the protected base path. In deployments that rely on these settings, an unauthenticated attacker can send a crafted request containing a number sign in the path, including the browser-safe encoded form `%23`, so that OAuth2 Proxy matches a public allowlist rule while the backend serves a protected resource. Deployments that do not use these skip-auth options, or that only allow exact public paths with tightly scoped method and path rules, are not affected. A fix has been implemented in version 7.15.2 to normalize request paths more conservatively before skip-auth matching so fragment content does not influence allowlist decisions. Users who cannot upgrade immediately can reduce exposure by tightening or removing `skip_auth_routes` and `skip_auth_regex` rules, especially patterns that use broad wildcards across path segments. Recommended mitigations include replacing broad rules with exact, anchored public paths and explicit HTTP methods; rejecting requests whose path contains `%23` or `#` at the ingress, load balancer, or WAF level; and/or avoiding placing sensitive application paths behind broad `skip_auth_routes` rules.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1211 Exploitation for Stealth Stealth
Adversaries may exploit vulnerabilities to evade detection by hiding activity, suppressing logging, or operating within trusted or unmonitored components.
T1542.002 Component Firmware Stealth
Adversaries may modify component firmware to persist on systems.
T1556 Modify Authentication Process Defense Impairment
Adversaries may modify authentication mechanisms and processes to access user credentials or enable otherwise unwarranted access to accounts.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-40574Same product: Oauth2 Proxy Project Oauth2 Proxy
CVE-2026-34457Same product: Oauth2 Proxy Project Oauth2 Proxy
CVE-2025-54576Same product: Oauth2 Proxy Project Oauth2 Proxy
CVE-2026-34454Same product: Oauth2 Proxy Project Oauth2 Proxy
CVE-2026-40575Same product: Oauth2 Proxy Project Oauth2 Proxy
CVE-2024-4552Shared CWE-288
CVE-2025-61733Shared CWE-288
CVE-2024-9822Shared CWE-288
CVE-2025-54725Shared CWE-288
CVE-2026-68584Shared CWE-288

Affected Assets

oauth2 proxy project
oauth2 proxy
7.5.0 — 7.15.2

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 7 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V6.4.3
  • V6.6.1
  • V12.1.3

Mitigating Controls (NIST 800-53 r5) AI

Requires a tamperproof, always-invoked reference monitor that structurally blocks bypass via any alternate path.

Enforces authorization checks on every logical access path, eliminating unauthenticated alternate channels.

Mandates unique identification and authentication for all organizational users, covering the primary authentication requirement.

Controls all external and key internal interfaces, reducing the chance of unauthenticated alternate channels.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-03 full match
prevents

Requiring authentication on every channel and path directly eliminates alternate-path bypasses.

PR.AA-05 mostly match
prevents

Enforcing authorizations and least privilege across all access vectors prevents unauthenticated alternate paths.

PR.IR-01 mostly match
prevents

Protecting networks and environments from unauthorized logical access blocks bypass via undocumented channels.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing can detect alternate-path bypasses but does not prevent them in production.

degrades

Secure authentication control directly mitigates bypass by requiring strong, consistent authentication on all paths.

prevents

Access control policy directly addresses alternate authentication paths by requiring all channels to enforce authentication.

degrades

Authentication information management ensures credentials and mechanisms are consistently applied across all access paths.

prevents

Access rights provisioning and review prevent bypass via unmonitored or alternate channels.

prevents

Privileged access rights control reduces risk of bypass through elevated or alternate paths.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (2 rules)
  • V-248598 There must be no ".shosts" files on the OL 8 operating system. prevents CWE-288
  • V-248827 OL 8 must not have the rsh-server package installed. prevents CWE-288
Oracle Linux 9 (2 rules)
  • V-271757 OL 9 file systems must not contain shosts.equiv files. prevents CWE-288
  • V-271758 OL 9 file systems must not contain .shosts files. prevents CWE-288
RHEL 7 (3 rules)
  • V-204440 Red Hat Enterprise Linux operating systems version 7.2 or newer using Unified Extensible Firmware Interface (UEFI) must require authentication upon booting into single-user and maintenance modes. prevents CWE-288
  • V-204442 The Red Hat Enterprise Linux operating system must not have the rsh-server package installed. prevents CWE-288
  • V-204424 The Red Hat Enterprise Linux operating system must not allow accounts configured with blank or null passwords. prevents CWE-288

References