230 lines
11 KiB
JSON
230 lines
11 KiB
JSON
{
|
|
"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"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
} |