Katalog CVE

CVE-2026-86696

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.44%

Percentyl 37 - wyżej niż 37% wszystkich znanych CVE

Streszczenie

Podatność polegająca na przydzielaniu zasobów bez ograniczeń lub dławienia w esaml w dropbox esaml pozwala nieuwierzytelnionemu atakującemu na wyczerpanie tablicy atomów maszyny wirtualnej Erlang i awarię węzła poprzez niepodpisane komunikaty LogoutResponse. Funkcja esaml:status_code_map/1 w src/esaml.erl mapuje każdą nierozpoznaną wartość StatusCode na atom za pomocą list_to_atom/1 na ostatnim segmencie URN oddzielonym dwukropkiem. esaml_sp:validate_logout_response/2 weryfikuje podpis tylko wtedy, gdy wiadomość go zawiera, więc niepodpisany LogoutResponse wysłany na endpoint single-logout dociera do esaml:decode_logout_response/1 i tworzy jeden trwały atom na każdą odrębną wartość statusu. Atomy nigdy nie są odzyskiwane, a maszyna wirtualna ogranicza tablicę atomów do około miliona wpisów, więc atakujący, który wyśle tak wiele odrębnych wartości, powoduje awarię węzła. Problem dotyczy esaml od wersji 0.1.0 wzwyż.

Ocena ryzyka

Nieuwierzytelniony atakujący może zdalnie spowodować awarię węzła Erlang, prowadząc do odmowy usługi dla usług uwierzytelniania SAML. Może to zakłócić logowanie i wylogowywanie użytkowników w aplikacjach korzystających z tego dostawcy tożsamości.

Rekomendacja

Zaktualizuj bibliotekę esaml do wersji zawierającej poprawkę, która nie tworzy atomów z niezaufanych danych wejściowych. Do czasu aktualizacji rozważ ograniczenie dostępu do endpointu single-logout lub wdrożenie dodatkowej walidacji.

Inne podatności w esaml

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

Allocation of Resources Without Limits or Throttling vulnerability in esaml in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned LogoutResponse messages. esaml:status_code_map/1 in src/esaml.erl maps any StatusCode value it does not recognize to an atom with list_to_atom/1 on the last colon-separated segment of the URN. esaml_sp:validate_logout_response/2 verifies a signature only when the message carries one, so an unsigned LogoutResponse posted to the single-logout endpoint reaches esaml:decode_logout_response/1 and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node. This issue affects esaml: from 0.1.0 onward.

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