CVE-2026-82758
ŚrednieCVSS 6.3Streszczenie
Podatność w ash_authentication_oauth2_server pozwala nieuwierzytelnionemu atakującemu na rejestrację klientów OAuth nawet gdy Dynamic Client Registration jest zabezpieczony tokenem początkowym. Funkcja resolve_secret/3 traktuje każdą wartość inną niż {:ok, _} lub :error jako prawidłowy sekret, co pozwala na pominięcie zabezpieczeń.
Ocena ryzyka
Atakujący może zarejestrować własnych klientów OAuth, co może prowadzić do nieautoryzowanego dostępu do zasobów i kradzieży danych.
Rekomendacja
Zaktualizuj ash_authentication_oauth2_server do wersji 0.3.1 lub nowszej, która zawiera poprawkę uniemożliwiającą traktowanie pustych wartości jako prawidłowych sekretów.
Inne podatności w ash_authentication_oauth2_server
Zobacz wszystkie- CVE-2026-82757Średnie
Podatność typu SSRF w ash_authentication_oauth2_server pozwala atakującemu kontrolującemu adres URL metadanych klienta i jego DNS na zmuszenie serwera do połączenia z adresami wewnętrznymi lub pętli zwrotnej. Funkcja public_ip?/1 błędnie klasyfikuje pewne zakresy adresów jako publiczne, umożliwiając ominięcie polityki.
- CVE-2026-82756Średnie
Podatność w ash_authentication_oauth2_server pozwala nieuwierzytelnionemu atakującemu na wstrzyknięcie dowolnych parametrów uwierzytelniania do nagłówka WWW-Authenticate. Wartość resource_metadata jest interpolowana bez odpowiedniego escapowania, co umożliwia modyfikację nagłówka i przekierowanie klientów do złośliwego serwera autoryzacji.
- CVE-2026-82755Średnie
Podatność w ash_authentication_oauth2_server pozwala współdzielonej pamięci podręcznej HTTP na serwowanie metadanych OAuth jednego dzierżawcy klientom innego dzierżawcy. Odpowiedzi z metadanymi są oznaczone jako Cache-Control: public bez nagłówka Vary, co powoduje, że odpowiedzi są przechowywane i serwowane innym dzierżawcom.
- CVE-2026-82754Średnie
Podatność w ash_authentication_oauth2_server powoduje, że punkty końcowe OAuth zmieniające stan są dostępne pod niezamierzonym prefiksem URL, co pozwala ominąć kontrolę skonfigurowaną dla kanonicznego prefiksu. Trasy są montowane zarówno pod /oauth, jak i /.well-known, co umożliwia dostęp do /register, /token i /revoke przez alternatywne ścieżki.
- CVE-2026-82753Wysokie
Podatność polegająca na nieograniczonym przydzielaniu zasobów w ash_authentication_oauth2_server. Nieuwierzytelniony atakujący może wyczerpać pamięć i przestrzeń dyskową bazy danych poprzez wysyłanie żądań do punktu końcowego /authorize z wieloma różnymi adresami URL client_id, co powoduje tworzenie trwałych rekordów klientów i przechowywanie dokumentów w pamięci podręcznej bez limitów.
Oryginalny opis (angielski, źródło NVD)
Improper Authentication vulnerability in ash-project ash_authentication_oauth2_server allows an unauthenticated attacker to register OAuth clients even when Dynamic Client Registration is gated by an initial access token. resolve_secret/3 in AshAuthentication.Oauth2Server (reached through __resolve_secret__!) treated any return other than {:ok, _} or :error from a configured {module, function, args} or 2-arity-function secret provider as a valid secret, wrapping nil, false, or "" as {:ok, value}. When the initial_access_token resolves to such an empty value, POST /oauth/register compares the presented bearer token against it and the comparison passes with no token supplied, so registration is open although it was configured closed. The same fail-open affected other resolved secrets such as signing_secret. This issue affects ash_authentication_oauth2_server: from 0.1.0 before 0.3.1.

