Read the docs
TI-2026-25891 Aliases CVE-2026-33495GHSA-vhr5-ggp3-qq85

Ory Oathkeeper has an authentication bypass by usage of untrusted header

Priority LOW 34CWE-862Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
Low · Low · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-862.

Summary

ORY Oathkeeper is an Identity & Access Proxy (IAP) and Access Control Decision API that authorizes HTTP requests based on sets of Access Rules. Ory Oathkeeper is often deployed behind other components like CDNs, WAFs, or reverse proxies. Depending on the setup, another component might forward the request to the Oathkeeper proxy with a different protocol (http vs. https) than the original request. In order to properly match the request against the configured rules, Oathkeeper considers the `X-Forwarded-Proto` header when evaluating rules. The configuration option `serve.proxy.trust_forwarded_headers` (defaults to false) governs whether this and other `X-Forwarded-*` headers should be trusted. Prior to version 26.2.0, Oathkeeper did not properly respect this configuration, and would always consider the `X-Forwarded-Proto` header. In order for an attacker to abuse this, an installation of Ory Oathkeeper needs to have distinct rules for HTTP and HTTPS requests. Also, the attacker needs to be able to trigger one but not the other rule. In this scenario, the attacker can send the same request but with the `X-Forwarded-Proto` header in order to trigger the other rule. We do not expect many configurations to meet these preconditions. Version 26.2.0 contains a patch. Ory Oathkeeper will correctly respect the `serve.proxy.trust_forwarded_headers` configuration going forward, thereby eliminating the attack scenario. We recommend upgrading to a fixed version even if the preconditions are not met. As an additional mitigation, it is generally recommended to drop any unexpected headers as early as possible when a request is handled, e.g. in the WAF.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00243 15th percentileScored 2026-11-07
Fix Fixed oathkeeper (ory): 26.2.0github.com/ory/oathkeeper (Go): 0.40.10-0.20260320084810-e9acca14a04d

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
oryoathkeeperbefore 26.2.026.2.0Patch availableCNA
—github.com/ory/oathkeeper (Go)before 0.40.10-0.20260320084810-e9acca14a04d0.40.10-0.20260320084810-e9acca14a04dPatch availableGHSA-vhr5-ggp3-qq85
  • oathkeeper Vendorory Affected before 26.2.0 Fixed in 26.2.0 Patch available CNA
  • github.com/ory/oathkeeper (Go) Vendor— Affected before 0.40.10-0.20260320084810-e9acca14a04d Fixed in 0.40.10-0.20260320084810-e9acca14a04d Patch available GHSA-vhr5-ggp3-qq85

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:ory:oathkeeper:*:*:*:*:*:*:*:*before 26.2.0Vulnerableory
  • cpe:2.3:a:ory:oathkeeper:*:*:*:*:*:*:*:* Versions before 26.2.0 Vulnerable ·ory

Remediation

  • Fix · CNA oathkeeper (ory) Fixed in 26.2.0
  • Fix · GHSA-vhr5-ggp3-qq85 github.com/ory/oathkeeper (Go) Fixed in 0.40.10-0.20260320084810-e9acca14a04d Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-33495
  2. 2026-10-03 Alias added: GHSA-vhr5-ggp3-qq85

References

  • TI-2026-25890 Ory Oathkeeper has a path traversal authorization bypass CVSS 3.1CRITICAL 10.0
  • TI-2021-12369 Possible bypass of token claim validation when OAuth2 Introspection caching is enabled CVSS 3.1HIGH 7.5
  • TI-2026-25892 Ory Oathkeeper has an authentication bypass by cache key confusion CVSS 3.1HIGH 8.1

Sources