{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-40575",
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "state": "PUBLISHED",
        "assignerShortName": "GitHub_M",
        "dateReserved": "2026-04-14T13:24:29.475Z",
        "datePublished": "2026-04-21T23:20:30.486Z",
        "dateUpdated": "2026-07-15T01:00:45.240Z"
    },
    "containers": {
        "cna": {
            "title": "OAuth2 Proxy has an Authentication Bypass via X-Forwarded-Uri Header Spoofing",
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "cweId": "CWE-290",
                            "lang": "en",
                            "description": "CWE-290: Authentication Bypass by Spoofing",
                            "type": "CWE"
                        }
                    ]
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "attackComplexity": "LOW",
                        "attackVector": "NETWORK",
                        "availabilityImpact": "NONE",
                        "baseScore": 9.1,
                        "baseSeverity": "CRITICAL",
                        "confidentialityImpact": "HIGH",
                        "integrityImpact": "HIGH",
                        "privilegesRequired": "NONE",
                        "scope": "UNCHANGED",
                        "userInteraction": "NONE",
                        "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
                        "version": "3.1"
                    }
                }
            ],
            "references": [
                {
                    "name": "https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-7x63-xv5r-3p2x",
                    "tags": [
                        "x_refsource_CONFIRM"
                    ],
                    "url": "https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-7x63-xv5r-3p2x"
                }
            ],
            "affected": [
                {
                    "vendor": "oauth2-proxy",
                    "product": "oauth2-proxy",
                    "versions": [
                        {
                            "version": ">= 7.5.0, < 7.15.2",
                            "status": "affected"
                        }
                    ]
                }
            ],
            "providerMetadata": {
                "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
                "shortName": "GitHub_M",
                "dateUpdated": "2026-04-21T23:20:30.486Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "OAuth2 Proxy is a reverse proxy that provides authentication using OAuth2 providers. Versions 7.5.0 through 7.15.1 may trust a client-supplied `X-Forwarded-Uri` header when `--reverse-proxy` is enabled and `--skip-auth-regex` or `--skip-auth-route` 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. Impacted users are deployments that run oauth2-proxy with `--reverse-proxy` enabled and configure at least one `--skip-auth-regex` or `--skip-auth-route` rule. This issue is patched in `v7.15.2`. Some workarounds are available for those who cannot upgrade immediately. 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; restrict direct client access to OAuth2 Proxy so it can only be reached through a trusted reverse proxy; and/or remove or narrow `--skip-auth-regex` / `--skip-auth-route` rules where possible. For nginx-based deployments, ensure `X-Forwarded-Uri` is set by nginx and not passed through from the client."
                }
            ],
            "source": {
                "advisory": "GHSA-7x63-xv5r-3p2x",
                "discovery": "UNKNOWN"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2026-04-22T14:15:18.160877Z",
                                "id": "CVE-2026-40575",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "yes"
                                    },
                                    {
                                        "Technical Impact": "total"
                                    }
                                ],
                                "role": "CISA Coordinator",
                                "version": "2.0.3"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2026-04-22T14:15:41.802Z"
                }
            },
            {
                "affected": [
                    {
                        "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
                        "cpes": [
                            "cpe:/a:redhat:ceph_storage:9"
                        ],
                        "defaultStatus": "affected",
                        "packageName": "rhceph/oauth2-proxy-rhel9",
                        "product": "Red Hat Ceph Storage 9",
                        "vendor": "Red Hat"
                    }
                ],
                "datePublic": "2026-04-21T23:20:30.486Z",
                "descriptions": [
                    {
                        "lang": "en",
                        "value": "A flaw was found in OAuth2 Proxy. When configured with `--reverse-proxy` and either `--skip-auth-regex` or `--skip-auth-route`, the proxy may trust a client-supplied `X-Forwarded-Uri` header. An unauthenticated remote attacker can exploit this by spoofing the header, leading to an authentication bypass. This allows unauthorized access to protected routes without a valid session."
                    }
                ],
                "metrics": [
                    {
                        "other": {
                            "content": {
                                "namespace": "https://access.redhat.com/security/updates/classification/",
                                "value": "Important"
                            },
                            "type": "Red Hat severity rating"
                        }
                    },
                    {
                        "cvssV3_1": {
                            "attackComplexity": "HIGH",
                            "attackVector": "NETWORK",
                            "availabilityImpact": "NONE",
                            "baseScore": 8.7,
                            "baseSeverity": "HIGH",
                            "confidentialityImpact": "HIGH",
                            "integrityImpact": "HIGH",
                            "privilegesRequired": "NONE",
                            "scope": "CHANGED",
                            "userInteraction": "NONE",
                            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N",
                            "version": "3.1"
                        },
                        "format": "CVSS"
                    }
                ],
                "problemTypes": [
                    {
                        "descriptions": [
                            {
                                "cweId": "CWE-290",
                                "description": "Authentication Bypass by Spoofing",
                                "lang": "en",
                                "type": "CWE"
                            }
                        ]
                    }
                ],
                "references": [
                    {
                        "tags": [
                            "vdb-entry",
                            "x_refsource_REDHAT"
                        ],
                        "url": "https://access.redhat.com/security/cve/CVE-2026-40575"
                    },
                    {
                        "name": "RHBZ#2460449",
                        "tags": [
                            "issue-tracking",
                            "x_refsource_REDHAT"
                        ],
                        "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2460449"
                    },
                    {
                        "tags": [
                            "x_sadp-csaf-vex"
                        ],
                        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-40575.json"
                    }
                ],
                "timeline": [
                    {
                        "lang": "en",
                        "time": "2026-04-22T00:01:48.616Z",
                        "value": "Reported to Red Hat."
                    },
                    {
                        "lang": "en",
                        "time": "2026-04-21T23:20:30.486Z",
                        "value": "Made public."
                    }
                ],
                "title": "oauth2-proxy: github.com/oauth2-proxy/oauth2-proxy: OAuth2 Proxy: Authentication bypass due to spoofed X-Forwarded-Uri header",
                "workarounds": [
                    {
                        "lang": "en",
                        "value": "This issue can be mitigated by one of the options bellow:\n\n1) Strip any client-provided `X-Forwarded-Uri` header at any layer before it reaches `oauth2-proxy`;\n2) Overwrite the `X-Forwarded-Uri` header with the actual request URI before the request reaches `oauth2-proxy`. If you are using NGINX you can use the following example to create your tailored mitigation:\n\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\n\n3) Restrict direct client access to OAuth2 Proxy so it can only be reached through a trusted reverse proxy;\n4) Remove or narrow --skip-auth-route / --skip-auth-regex rules where possible;"
                    }
                ],
                "x_adpType": "supplier",
                "x_generator": {
                    "engine": "sadp-cli 1.0.0"
                },
                "providerMetadata": {
                    "orgId": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
                    "shortName": "redhat-SADP",
                    "dateUpdated": "2026-07-15T01:00:45.240Z"
                }
            }
        ]
    }
}