Ory Oathkeeper has an authentication bypass by usage of untrusted header
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| ory | oathkeeper | before 26.2.0 | 26.2.0 | Patch available | CNA |
| — | github.com/ory/oathkeeper (Go) | before 0.40.10-0.20260320084810-e9acca14a04d | 0.40.10-0.20260320084810-e9acca14a04d | Patch available | GHSA-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
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
- 2026-10-02 Threatist record created from CVE-2026-33495
- 2026-10-03 Alias added: GHSA-vhr5-ggp3-qq85
References
More ory Oathkeeper vulnerabilities
- 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
- CVE-2026-33495 · CVE Program
- CVE-2026-33495 · NVD
- FIRST EPSS
- GHSA-vhr5-ggp3-qq85 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences