Podsumowanie
| Parametr | Wartość |
|---|---|
| CVE ID | CVE-2026-76835 |
| Źródło alertu | GitHub Advisory - podatność krytyczna (CNA: VulnCheck) |
| Rok publikacji CVE | 2026 |
| Data publikacji | 2026-08-24 |
| Producent | OAuth2 Proxy (projekt open source) |
| Produkt | oauth2-proxy |
| Wersje podatne | wszystkie wydania z domyślnym --trusted-proxy-ip, włącznie z najnowszym 7.15.4 |
| Wersja naprawiona | brak — konieczna zmiana konfiguracji |
| CVSS Score | 9.3 (Krytyczny, CVSS v4); 9.1 wg CVSS v3.1 |
| EPSS Score | Brak danych (CVE opublikowane 2026-08-24) |
| CISA KEV | Nie |
| Ransomware | Nie potwierdzono |
Opis podatności
OAuth2 Proxy to popularna warstwa uwierzytelniania stawiana przed aplikacjami, które same
nie potrafią się uwierzytelnić — najczęściej jako auth_request w nginx albo adnotacja
auth-url w ingress-nginx w Kubernetesie. To komponent, który decyduje, czy żądanie w ogóle
dotrze do aplikacji.
Funkcja GetRequestURI (pkg/requests/util/util.go) przy włączonym trybie --reverse-proxy
przedkłada nagłówek X-Forwarded-Uri nad rzeczywisty URI żądania. isAllowedPath
w oauthproxy.go porównuje następnie ten nagłówek z listą wyjątków --skip_auth_routes
i --skip-auth-regex. Skutek: napastnik podaje w nagłówku ścieżkę, która jest na liście
wyjątków, a faktyczne żądanie kieruje do zasobu chronionego — i przechodzi bez sesji.
Ten sam mechanizm opisano już jako CVE-2026-40575, naprawione w wydaniu 7.15.2 przez
wprowadzenie flagi --trusted-proxy-ip. Istota CVE-2026-76835 polega na tym, że
poprawka jest bezczynna w domyślnej konfiguracji: CanTrustForwardedHeaders
(pkg/apis/middleware/scope.go) ufa nagłówkom, gdy adres wywołującego mieści się na liście
zaufanych proxy, a lista ta pozostawiona bez ustawienia domyślnie obejmuje 0.0.0.0/0 —
czyli wszystkich. Zachowanie to zostało utrzymane celowo, dla zgodności wstecznej.
W efekcie instalacja zaktualizowana do 7.15.2, 7.15.3 czy 7.15.4 nadal jest podatna, dopóki administrator jawnie nie ustawi zaufanych adresów. Nie ma wydania, które by to rozwiązywało — jedyną naprawą jest zmiana konfiguracji.
Warunki podatności (muszą zachodzić łącznie):
- OAuth2 Proxy uruchomiony z
--reverse-proxy, - zdefiniowana co najmniej jedna reguła
--skip_auth_routesalbo--skip-auth-regex, --trusted-proxy-ipnieustawione albo zbyt szerokie,- brak nadpisywania
X-Forwarded-Urina warstwie load balancera.
Wymagane działania
- Ustaw jawnie
--trusted-proxy-ipna adresy lub zakresy CIDR reverse proxy oraz load balancerów, którym wolno przekazywać nagłówkiX-Forwarded-*. To główna mitygacja. - Usuwaj nagłówek
X-Forwarded-Uriprzychodzący od klienta na brzegu — w load balancerze albo reverse proxy — i nadpisuj go faktycznym URI żądania przed przekazaniem do OAuth2 Proxy. - Przejrzyj reguły
--skip_auth_routesi--skip-auth-regex. Każdy wyjątek jest potencjalną ścieżką obejścia; wzorce ogólne (^/api/.*) są znacznie groźniejsze niż konkretne ścieżki. - Zaktualizuj do co najmniej 7.15.2, żeby flaga
--trusted-proxy-ipw ogóle istniała — sama aktualizacja nie usuwa jednak podatności bez punktu 1. - Sprawdź w logach, czy nie pojawiają się żądania z nagłówkiem
X-Forwarded-Uriustawionym przez klienta, którego ścieżka rozmija się z rzeczywistym celem żądania.
Kogo dotyczy?
Podatność dotyczy organizacji, które chronią wewnętrzne aplikacje warstwą OAuth2 Proxy — w praktyce zespołów utrzymujących klastry Kubernetes i wystawiających przez ingress narzędzia bez własnego logowania: panele Grafany, Kibany, Prometheusa, Argo CD, konsole administracyjne i wewnętrzne aplikacje. To standardowy wzorzec w firmach SaaS, fintechach i e-commerce, a coraz częściej także w wewnętrznych platformach dużych organizacji.
Skutek jest niewspółmierny do prostoty ataku: obejście warstwy uwierzytelniania oznacza bezpośredni dostęp do narzędzi, które zwykle uchodzą za „wewnętrzne, więc bezpieczne” — a te mają dostęp do metryk, logów, sekretów i pipeline’ów wdrożeniowych.
Szczególnie warto sprawdzić instalacje, które zostały już zaktualizowane w kwietniu 2026 z powodu CVE-2026-40575. Zespoły, które wtedy odhaczyły temat jako zamknięty, są nadal podatne — bo poprawka wymaga świadomej zmiany konfiguracji, a nie samego podbicia wersji.
Źródła
- NVD - CVE-2026-76835
- OAuth2 Proxy - GHSA-7x63-xv5r-3p2x (CVE-2026-40575)
- OAuth2 Proxy - issue #3506
- OAuth2 Proxy - repozytorium
Potrzebujesz wsparcia w zabezpieczeniu systemów? Zespół nFlo oferuje usługi zarządzania podatnościami oraz SOC 24/7. Skontaktuj się z nami.
