OAuth2-Proxy の脆弱性 CVE-2025-54576 が FIX:悪意のクエリ・パラメータによる認証バイパス

OAuth2-Proxy Vulnerability Enables Authentication Bypass by Manipulating Query Parameters

2025/07/31 CyberSecurityNews — OAuth2-Proxy に、深刻なセキュリティ脆弱性が発見された。この広く利用されるリバース・プロキシ OAuth2-Proxy は、Google/Azure/OpenID Connect などの多数の ID プロバイダに対して認証サービスを提供するものだ。この脆弱性 CVE-2025-54576 (CVSS:9.1) を悪用する攻撃者は、細工した URL 内のクエリ・パラメータを操作することで、認証メカニズムをバイパスし、保護されたリソースへの不正アクセスを可能にする。

主なポイント
  • OAuth2-Proxy 7.10.0 未満には、深刻な認証バイパスの脆弱性が存在する。
  • システムにおける称号は、path-only に換えて full-URI となるため、悪意の URL によるセキュリティ・バイパスの可能性が生じる。
  • OAuth2-Proxy 7.11.0 へのアップグレードにより、ワイルドカードに換えて特定の正規表現パターンを使用する必要がある。
OAuth2-Proxy の脆弱性

この脆弱性は、skip_auth_routes コンフィグ・オプションと正規表現パターンを併用する OAuth2-Proxy デプロイメントに大きな影響を及ぼす。

このセキュリティ上の欠陥は、リクエスト URI のマッチングを、システムが不適切に処理することに起因している。skip_auth_routes は、ドキュメントに記載されたパス・コンポーネントだけではなく、リクエスト URI 全体 (パスとクエリパラメータを含む) を照合対象とするため、認証バイパスが生じる。

この矛盾を悪用する攻撃者が、細工したクエリ・パラメータを URL に追加することで、設定された正規表現パターンを効果的に満たし、認証制御を回避するという、深刻な攻撃ベクターが発生する。

たとえば、/foo/something/bar へのアクセスだけを許可する設定 skip_auth_routes = [“^/foo/.*/bar$”] を悪用することで、/foo/critical_endpoint?param=/bar へのアクセスも許可される可能性がある。

この脆弱性に関わるコードは、oauthproxy.go の L582–584 行目および pkg/requests/util/util.go の L37–44 行目において、不適切な URI 処理ロジックとして確認されている。

この脆弱性は CVSS v3.1 スコアにおいて Critical と評価されており、機密性と整合性に高い影響があることが示されている:

(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N)

ワイルドカードや部分一致パターンを取り込んだ正規表現パターンと、skip_auth_routes を併用するケースが、最もリスクの高い環境だとされる。特に、バックエンド・サービスが不明なクエリ・パラメータを無視する場合に、リスクは顕著となる。

リスク要因
Risk FactorsDetails
Affected ProductsOAuth2-Proxy versions < 7.10.0
Impact– Authentication bypass- Unauthorized access to protected resources- High confidentiality and integrity compromise
Exploit Prerequisites– Deployment uses skip_auth_routes configuration- Regex patterns with wildcards or broad matching- Backend services that ignore unknown query parameters
CVSS 3.1 Score9.1 (Critical)
緩和策

すでに OAuth2-Proxy のメンテナたちは、パッチ適用済のバージョン 7.11.0 をリリースし、影響を受けるバージョン (7.10.0 未満) の脆弱性は修正されている。

なお、速やかな緩和策の実施においては、すべての skip_auth_routes コンフィグを監査し、過度に許可されたパターンの有無を確認する必要がある。また、可能な限り、ワイルドカード・パターンを完全一致パスに置き換え、正規表現パターンには “^” および “$” アンカーを適切に用いる必要がある。

安全なコンフィグ例として、”^/public/.*” のような大まかなパターンを、”^/public/assets$“/”^/public/health$“/”^/api/status$” のような具体的なパスへと置き換えることが望ましい。

ユーザー組織にとって必要なことは、これらの暫定的な対策を講じるとともに、修正済みバージョンへのアップグレードを最優先で実施し、認証バイパスの可能性を排除することである。