CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-34457

CVE-2026-34457: Authentication Bypass via User-Agent Spoofing in OAuth2 Proxy

Alon Barad
Alon Barad
Software Engineer

Apr 14, 2026·5 min read·147 visits

Executive Summary (TL;DR)

Unauthenticated remote authentication bypass in OAuth2 Proxy (< 7.15.2) due to permissive health check User-Agent validation in auth_request deployments. Fixed in 7.15.2.

OAuth2 Proxy versions prior to 7.15.2 are vulnerable to a critical authentication bypass (CWE-290) when configured with User-Agent-based health checks in an auth_request architecture. An unauthenticated remote attacker can spoof the health check User-Agent header to bypass authorization checks entirely, gaining access to protected upstream resources.

Vulnerability Overview

OAuth2 Proxy is a reverse proxy and authorization service that provides authentication using various OAuth2 providers. It is frequently deployed alongside frontend web servers to secure internal applications and APIs. The proxy evaluates incoming requests, validates session tokens, and either permits or denies access to the protected upstream resources.

CVE-2026-34457 is an authentication bypass vulnerability (CWE-290) affecting OAuth2 Proxy versions prior to 7.15.2. The flaw exists within the health check routing logic, specifically when the proxy is configured to identify health checks using the HTTP User-Agent header. This behavior is enabled via the --ping-user-agent or --gcp-healthchecks configuration flags.

When deployed in an auth_request architecture, the vulnerability allows an unauthenticated remote attacker to bypass all authorization checks. The attacker achieves this by supplying a crafted User-Agent header matching the configured health check string. This results in the complete exposure of all downstream applications protected by the vulnerable OAuth2 Proxy instance.

Root Cause Analysis

The vulnerability originates from an overly permissive evaluation of incoming requests designated as health checks. OAuth2 Proxy includes functionality to exempt specific monitoring requests from authentication. This mechanism ensures that infrastructure load balancers can verify service availability without possessing valid OAuth2 session tokens.

When the --ping-user-agent or --gcp-healthchecks flags are utilized, the application logic evaluates the User-Agent header of the incoming HTTP request. If the header exactly matches the configured string, the proxy classifies the request as an authorized health check. The application performs this classification irrespective of the requested URI path, creating a fundamental access control breakdown.

In a standard deployment utilizing the Nginx auth_request module, Nginx intercepts the client request and generates a subrequest to OAuth2 Proxy to validate authorization. The client-provided User-Agent header is forwarded within this subrequest. Because OAuth2 Proxy observes the designated health check string, it returns an HTTP 200 OK response to the frontend proxy.

Nginx processes the 200 OK response as confirmation that the client is fully authenticated and authorized. Consequently, Nginx proxies the original HTTP request directly to the protected upstream application. The failure to bind the User-Agent health check exemption strictly to a dedicated endpoint, such as /ping, establishes the bypass condition.

Attack Methodology and Exploitation

Exploitation of CVE-2026-34457 requires low attack complexity and zero prior authentication. The attacker must possess network connectivity to the frontend web server routing traffic to the vulnerable OAuth2 Proxy deployment. The target deployment must actively utilize the subrequest-based auth_request integration methodology.

The attack payload consists of a standard HTTP request directed at a protected URI, modified to include the specific User-Agent header expected by the health check configuration. For instances deployed within Google Cloud Platform environments utilizing the --gcp-healthchecks flag, the default expected string is GoogleHC/1.0.

curl -H "User-Agent: GoogleHC/1.0" https://protected-app.example.com/api/v1/sensitive-data

If the administrator has specified a custom monitoring string via the --ping-user-agent flag, the attacker must supply that precise string. Discovery of custom strings may require directory brute-forcing, error analysis, or prior knowledge of the target organization's internal monitoring infrastructure. Once the correct string is identified, subsequent requests bypass authentication deterministically.

Impact Assessment

Successful exploitation grants the attacker unauthenticated read and write access to the upstream resources protected by OAuth2 Proxy. The severity of the impact is directly correlated with the sensitivity of the applications residing behind the proxy boundary. Common deployments protect internal administrative dashboards, continuous integration servers, and internal API endpoints.

The CVSS v3.1 base score of 9.1 reflects the network-based attack vector, the lack of required privileges, and the high impact on both confidentiality and integrity. The vulnerability nullifies the primary security control established by the proxy, exposing internal applications to external threat actors.

The availability of the upstream service is not directly impacted by this vulnerability, as the attack leverages standard HTTP proxying mechanics. However, an attacker will likely impact availability through subsequent actions performed on the exposed applications, such as executing destructive database queries or modifying administrative configurations.

Mitigation and Remediation Guidance

The primary remediation for CVE-2026-34457 is to upgrade the OAuth2 Proxy deployment to version 7.15.2 or later. The patched release modifies the health check routing logic to strictly validate the requested URI path. Health check exemptions are no longer granted solely based on the evaluation of the User-Agent header.

Organizations unable to apply the software update immediately must implement configuration-based mitigations. Administrators must remove the --ping-user-agent flag and disable the --gcp-healthchecks flag. This action removes the vulnerable code path entirely and neutralizes the authorization bypass.

Following the removal of User-Agent exemptions, health checks must be transitioned to utilize path-based routing. Administrators must configure upstream load balancers and monitoring systems to query the dedicated /ping endpoint. Nginx and other frontend proxies must be explicitly configured to route requests for /ping directly to OAuth2 Proxy without triggering an auth_request loop.

# Secure Nginx Configuration Example
location = /ping {
    proxy_pass http://oauth2_proxy_backend;
    # auth_request must NOT be applied to this location
}

Official Patches

OAuth2 ProxyOAuth2 Proxy v7.15.2 Release Notes

Technical Appendix

CVSS Score
9.1/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Affected Systems

OAuth2 Proxy < 7.15.2 utilizing auth_request and --ping-user-agentOAuth2 Proxy < 7.15.2 utilizing auth_request and --gcp-healthchecks

Affected Versions Detail

Product
Affected Versions
Fixed Version
OAuth2 Proxy
OAuth2 Proxy
< 7.15.27.15.2
AttributeDetail
CWE IDCWE-290
Attack VectorNetwork
CVSS Score9.1 (Critical)
ImpactAuthentication Bypass
Exploit StatusPoC Available
Required Configurationauth_request + UA Health Checks

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1036Masquerading
Defense Evasion
CWE-290
Authentication Bypass by Spoofing

The system relies on an easily spoofed attribute (in this case, the HTTP User-Agent header) to grant privileges or bypass authentication.

Vulnerability Timeline

Vulnerability details published via GitHub Advisory (GHSA-5hvv-m4w4-gf6v).
2026-04-14
Official fix released in version 7.15.2.
2026-04-14
CVE record published.
2026-04-14

References & Sources

  • [1]GitHub Security Advisory GHSA-5hvv-m4w4-gf6v
  • [2]OAuth2 Proxy v7.15.2 Release Notes
  • [3]CVE.org Record

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•2 days ago•CVE-2026-107844
5.3

CVE-2026-107844: Path Traversal Vulnerability in Contao ImagesController

A path traversal vulnerability (CWE-22) in Contao CMS allows unauthenticated remote attackers to bypass directory boundary restrictions in ImagesController and access files within the project directory.

Amit Schendel
Amit Schendel
8 views•5 min read
•2 days ago•CVE-2026-107848
3.5

CVE-2026-107848: Cross-Site Request Forgery (CSRF) in Contao Backend Actions via GET Requests

Contao Open Source CMS versions 4.0.0 through 5.3.49 and 5.4.0-RC1 through 5.7.11 contain a Cross-Site Request Forgery (CSRF) vulnerability in backend parameter handling. The `RequestTokenListener` component validates anti-CSRF tokens solely for HTTP POST requests, while GET-based declarative guards run only when an `act` parameter is present in the query string. Consequently, custom backend actions dispatched via alternative parameters such as `key=` can execute without CSRF token verification when triggered by an authenticated user.

Amit Schendel
Amit Schendel
8 views•5 min read
•2 days ago•CVE-2026-107843
5.3

CVE-2026-107843: Unthrottled Activation Email Resend and Account Enumeration in Contao CMS

Contao CMS versions 4.1.0 through 5.3.49 and 5.4.0-RC1 through 5.7.11 fail to validate form submission tokens and enforce rate limiting when processing activation email resend requests via HTTP POST, enabling resource exhaustion and account state enumeration.

Amit Schendel
Amit Schendel
9 views•4 min read
•2 days ago•CVE-2026-107842
5.3

CVE-2026-107842: Information Disclosure via Stale Indexing in Contao Search Module

An information disclosure vulnerability in Contao CMS allows unauthenticated site visitors to view protected page titles, URLs, and text excerpts through search queries when protected page indexing is disabled after previously being enabled.

Amit Schendel
Amit Schendel
10 views•4 min read
•2 days ago•GHSA-G38J-7V97-X298
6.5

GHSA-G38J-7V97-X298: Missing Authorization Check in Vikunja CalDAV Task Relation Creation

In Vikunja prior to version 2.6.0, relation creation via the CalDAV endpoint fails to invoke the TaskRelation.CanCreate authorization check. This missing access control allows an authenticated user to establish unauthorized relationships and perform write operations against any task, provided its unique identifier (UID) is known.

Alon Barad
Alon Barad
12 views•5 min read
•2 days ago•GHSA-3HC7-R24J-RPWC
6.8

GHSA-3hc7-r24j-rpwc: Cross-Project Task Disclosure via Subtask Expansion in Vikunja

A cross-project information disclosure vulnerability in Vikunja allows authenticated users with read access to one project to view private task details from unauthorized projects via subtask expansion parameters.

Alon Barad
Alon Barad
9 views•5 min read