{
  "document": {
    "aggregate_severity": {
      "namespace": "https://access.redhat.com/security/updates/classification/",
      "text": "Important"
    },
    "category": "csaf_vex",
    "csaf_version": "2.0",
    "distribution": {
      "text": "Copyright © Red Hat, Inc. All rights reserved.",
      "tlp": {
        "label": "WHITE",
        "url": "https://www.first.org/tlp/"
      }
    },
    "lang": "en",
    "notes": [
      {
        "category": "legal_disclaimer",
        "text": "This content is licensed under the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/). If you distribute this content, or a modified version of it, you must provide attribution to Red Hat Inc. and provide a link to the original.",
        "title": "Terms of Use"
      }
    ],
    "publisher": {
      "category": "vendor",
      "contact_details": "https://access.redhat.com/security/team/contact/",
      "issuing_authority": "Red Hat Product Security is responsible for vulnerability handling across all Red Hat products and services.",
      "name": "Red Hat Product Security",
      "namespace": "https://www.redhat.com"
    },
    "references": [
      {
        "category": "self",
        "summary": "Canonical URL",
        "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-40575.json"
      }
    ],
    "title": "oauth2-proxy: github.com/oauth2-proxy/oauth2-proxy: OAuth2 Proxy: Authentication bypass due to spoofed X-Forwarded-Uri header",
    "tracking": {
      "current_release_date": "2026-06-30T03:54:55+00:00",
      "generator": {
        "date": "2026-06-30T03:54:55+00:00",
        "engine": {
          "name": "Red Hat SDEngine",
          "version": "5.3.0"
        }
      },
      "id": "CVE-2026-40575",
      "initial_release_date": "2026-04-21T23:20:30.486000+00:00",
      "revision_history": [
        {
          "date": "2026-04-21T23:20:30.486000+00:00",
          "number": "1",
          "summary": "Initial version"
        },
        {
          "date": "2026-04-28T18:35:27+00:00",
          "number": "2",
          "summary": "Current version"
        },
        {
          "date": "2026-06-30T03:54:55+00:00",
          "number": "3",
          "summary": "Last generated version"
        }
      ],
      "status": "final",
      "version": "3"
    }
  },
  "product_tree": {
    "branches": [
      {
        "branches": [
          {
            "branches": [
              {
                "category": "product_name",
                "name": "Red Hat Ceph Storage 9",
                "product": {
                  "name": "Red Hat Ceph Storage 9",
                  "product_id": "red_hat_ceph_storage_9",
                  "product_identification_helper": {
                    "cpe": "cpe:/a:redhat:ceph_storage:9"
                  }
                }
              }
            ],
            "category": "product_family",
            "name": "Red Hat Ceph Storage 9"
          },
          {
            "category": "product_version",
            "name": "rhceph/oauth2-proxy-rhel9",
            "product": {
              "name": "rhceph/oauth2-proxy-rhel9",
              "product_id": "rhceph/oauth2-proxy-rhel9",
              "product_identification_helper": {
                "purl": "pkg:oci/oauth2-proxy-rhel9?repository_url=registry.redhat.io/rhceph/oauth2-proxy-rhel9"
              }
            }
          }
        ],
        "category": "vendor",
        "name": "Red Hat"
      }
    ],
    "relationships": [
      {
        "category": "default_component_of",
        "full_product_name": {
          "name": "rhceph/oauth2-proxy-rhel9 as a component of Red Hat Ceph Storage 9",
          "product_id": "red_hat_ceph_storage_9:rhceph/oauth2-proxy-rhel9"
        },
        "product_reference": "rhceph/oauth2-proxy-rhel9",
        "relates_to_product_reference": "red_hat_ceph_storage_9"
      }
    ]
  },
  "vulnerabilities": [
    {
      "cve": "CVE-2026-40575",
      "cwe": {
        "id": "CWE-290",
        "name": "Authentication Bypass by Spoofing"
      },
      "discovery_date": "2026-04-22T00:01:48.616402+00:00",
      "ids": [
        {
          "system_name": "Red Hat Bugzilla ID",
          "text": "2460449"
        }
      ],
      "notes": [
        {
          "category": "description",
          "text": "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.",
          "title": "Vulnerability description"
        },
        {
          "category": "summary",
          "text": "oauth2-proxy: github.com/oauth2-proxy/oauth2-proxy: OAuth2 Proxy: Authentication bypass due to spoofed X-Forwarded-Uri header",
          "title": "Vulnerability summary"
        },
        {
          "category": "other",
          "text": "There's an Important flaw in `oauth2-proxy` software where it trusts a client supplied `X-Forwarded-Uri` request header. This header is used by `oauth2-proxy` to identify the original URI from the incoming request it's currently handling. An attacker which manages to spoof the requests sent to it when it's running behind a reverse-proxy may change this header field to match the routes or the regular expressions configured to have authentication skipped, as a consequence the attacker may manage to have access to protected resources or internal routes without any kind of authentication being required resulting in a high impact for data confidentiality and integrity for the services positioned behind the reverse proxy.\n\nRed Hat Product Security team has rated this vulnerability as having a impact of Important as for a `oauth2-proxy` being considered vulnerable it should be being executed with the following specific configuration options enabled:\n\n1) `--reverse-proxy`\n2) `--skip-auth-regex` or `--skip-auth-route`\n\nAdditionally to exploit this vulnerability the attacker should be able to change the headers in the request being sent (either via a local proxy or by performing a Man-In-The-Middle attack before) and should have previous knowledge about the routes or patterns of URI which the authentication are being skipped by the `oauth2-proxy` deployment.",
          "title": "Statement"
        },
        {
          "category": "general",
          "text": "The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.",
          "title": "CVSS score applicability"
        }
      ],
      "product_status": {
        "known_affected": [
          "red_hat_ceph_storage_9:rhceph/oauth2-proxy-rhel9"
        ]
      },
      "references": [
        {
          "category": "self",
          "summary": "Canonical URL",
          "url": "https://access.redhat.com/security/cve/CVE-2026-40575"
        },
        {
          "category": "external",
          "summary": "RHBZ#2460449",
          "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2460449"
        },
        {
          "category": "external",
          "summary": "https://www.cve.org/CVERecord?id=CVE-2026-40575",
          "url": "https://www.cve.org/CVERecord?id=CVE-2026-40575"
        },
        {
          "category": "external",
          "summary": "https://nvd.nist.gov/vuln/detail/CVE-2026-40575",
          "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-40575"
        },
        {
          "category": "external",
          "summary": "https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-7x63-xv5r-3p2x",
          "url": "https://github.com/oauth2-proxy/oauth2-proxy/security/advisories/GHSA-7x63-xv5r-3p2x"
        }
      ],
      "release_date": "2026-04-21T23:20:30.486000+00:00",
      "remediations": [
        {
          "category": "workaround",
          "details": "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;",
          "product_ids": [
            "red_hat_ceph_storage_9:rhceph/oauth2-proxy-rhel9"
          ]
        },
        {
          "category": "none_available",
          "details": "Affected",
          "product_ids": [
            "red_hat_ceph_storage_9:rhceph/oauth2-proxy-rhel9"
          ]
        }
      ],
      "scores": [
        {
          "cvss_v3": {
            "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"
          },
          "products": [
            "red_hat_ceph_storage_9:rhceph/oauth2-proxy-rhel9"
          ]
        }
      ],
      "threats": [
        {
          "category": "impact",
          "details": "Important",
          "product_ids": [
            "red_hat_ceph_storage_9:rhceph/oauth2-proxy-rhel9"
          ]
        }
      ],
      "title": "oauth2-proxy: github.com/oauth2-proxy/oauth2-proxy: OAuth2 Proxy: Authentication bypass due to spoofed X-Forwarded-Uri header"
    }
  ]
}