GHSA-pxq7-h93f-9jrg

Suggest an improvement
Source
https://github.com/advisories/GHSA-pxq7-h93f-9jrg
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-pxq7-h93f-9jrg/GHSA-pxq7-h93f-9jrg.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-pxq7-h93f-9jrg
Aliases
Downstream
MINI (2)
Published
2026-04-15T19:24:13Z
Modified
2026-06-25T23:11:28Z
Severity
  • 8.2 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N CVSS Calculator
Summary
OAuth2 Proxy has an Authentication Bypass via Fragment Confusion in skip_auth_routes and skip_auth_regex
Details

Impact

A configuration-dependent authentication bypass exists in OAuth2 Proxy.

Deployments are affected when all of the following are true:

  • Use of skip_auth_routes or the legacy skip_auth_regex * Use of patterns that can be widened by attacker-controlled suffixes, such as ^/foo/.*/bar$ causing potential exposure of /foo/secret * 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.

Patches

A fix has been implemented to normalize request paths more conservatively before skip-auth matching so fragment content does not influence allowlist decisions.

Released as part of v7.15.2

Workarounds

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:

  • Replace broad rules with exact, anchored public paths and explicit HTTP methods
  • Reject requests whose path contains %23 or # at the ingress, load balancer, or WAF level
  • Avoid placing sensitive application paths behind broad skip_auth_routes rules
Database specific
{
    "cwe_ids":  [
        "CWE-288"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-04-15T19:24:13Z",
    "nvd_published_at":  "2026-04-22T00:16:27Z",
    "severity":  "HIGH"
}
References

Affected packages

Go / github.com/oauth2-proxy/oauth2-proxy/v7

Package

Name
github.com/oauth2-proxy/oauth2-proxy/v7
View open source insights on deps.dev
Purl
pkg:golang/github.com/oauth2-proxy/oauth2-proxy/v7

Affected ranges

Type
SEMVER
Events
Introduced
7.5.0
Fixed
7.15.2

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-pxq7-h93f-9jrg/GHSA-pxq7-h93f-9jrg.json"