Katalog CVE

CVE-2026-79662

WysokieCVSS 8.0
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

Ech0 do wersji 4.5.6 zawiera podatność w walidacji URI przekierowania OAuth w funkcji parseAndValidateClientRedirect (internal/service/auth/auth.go), która porównuje tylko schemat i host URI redirect_uri dostarczonego przez klienta z listą dozwoloną skonfigurowaną przez administratora, ignorując ścieżkę, zapytanie i fragment. redirect_uri jest osadzane w podpisanym JWT stanu podczas logowania bez walidacji. Atakujący może skonstruować redirect_uri, którego host pasuje do dozwolonego pochodzenia, ale ścieżka jest kontrolowana przez atakującego; po wymianie OAuth ofiara jest przekierowywana na tę ścieżkę z jednorazowym kodem wymiany w ciągu zapytania. Jeśli kod wycieknie (np. przez Referer, analitykę lub otwarte przekierowanie na tym hoście), atakujący może go wymienić na publicznym punkcie końcowym POST /api/auth/exchange na tokeny dostępu i odświeżania ofiary. Poprawiono w wersji 4.7.3.

Ocena ryzyka

Ryzyko kradzieży tokenów dostępu i odświeżania użytkowników, co może prowadzić do nieautoryzowanego dostępu do kont i naruszenia danych.

Rekomendacja

Zaktualizuj Ech0 do wersji 4.7.3 lub nowszej. Dodatkowo upewnij się, że walidacja redirect_uri uwzględnia pełną ścieżkę i inne komponenty, oraz rozważ zabezpieczenie przed wyciekiem kodów wymiany.

Inne podatności w Ech0

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Ech0 through 4.5.6 contains an OAuth redirect URI validation vulnerability in parseAndValidateClientRedirect (internal/service/auth/auth.go) that compares only the scheme and host of the client-supplied redirect_uri against the admin-configured allowlist, ignoring path, query, and fragment components. The redirect_uri is embedded into the signed state JWT at login time without validation. An attacker can craft a redirect_uri whose host matches an allowed origin but whose path is attacker-influenced; after the OAuth exchange the victim is redirected to that path with a one-time exchange code in the query string. If the code leaks (e.g., via Referer, analytics, or an open redirect on that host), the attacker can trade it at the public POST /api/auth/exchange endpoint for the victim's access and refresh tokens. Fixed in 4.7.3.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS