CVE-2025-48042
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
W bibliotece ash w wersjach od 0.1.0 do 3.5.39 stwierdzono podatność na nieprawidłową autoryzację w operacjach zbiorczych (bulk create, destroy, update). Podatność ta umożliwia wykorzystanie nieprawidłowo skonfigurowanych poziomów bezpieczeństwa kontroli dostępu.
Ocena ryzyka
Atakujący może wykonywać nieautoryzowane operacje zbiorcze na danych, co może prowadzić do naruszenia integralności danych lub nieuprawnionego dostępu.
Rekomendacja
Należy zaktualizować bibliotekę ash do wersji 3.5.39 lub nowszej, która zawiera poprawkę.
Inne podatności w ash
Zobacz wszystkie- CVE-2026-67579Wysokie
Podatność na deserializację niezaufanych danych w ash-project ash pozwala nieuwierzytelnionemu atakującemu wstrzyknąć wyrażenie filtru przez sfałszowany kursor paginacji keyset, co może prowadzić do wstrzyknięcia SQL lub wykonania kodu w zależności od warstwy danych. Akcje odczytu z paginacją keyset dekodują kursor dostarczony przez klienta w decode_values/2 w lib/ash/page/keyset.ex przy użyciu non_executable_binary_to_term/2 z [:safe], co blokuje nowe atomy, funy i porty, ale nie struktury zbudowane z atomów już zainternowanych w działającej aplikacji Ash, więc zdekodowane wyrażenie %Ash.Query.Call{} przetrwa i jest wstawiane do filtra keyset jako wartość porównania w do_filters/4 i oceniane. Ponieważ kursor omija makro Ash.Expr, środowisko wykonawcze nigdy nie stosuje bramki private?/public?, która mogłaby je odrzucić. Na AshPostgres wstrzyknięty fragment jest wstawiany do zapytania SQL; na warstwach danych ETS i Simple jest oceniany w procesie jako dowolne wywołanie funkcji. Problem dotyczy ash od 1.17.0 przed 3.31.3.
- CVE-2026-70395Niskie
Podatność nieprawidłowej neutralizacji specjalnych elementów w logice zapytań danych w ash-project ash pozwala atakującemu sfałszować relację do rekordu, którego nie zna, oraz odzyskać sekretną wartość używaną do jego wyszukania. Gdy manage_relationship jest używane z on_lookup: :relate na relacji belongs_to, wartość lookup dostarczona przez klienta jest przekazywana do Ash.Query.filter/2 bez rzutowania na typ atrybutu. Zagnieżdżona mapa przesłana tam, gdzie oczekiwany jest skalar, jest interpretowana jako predykat filtra, a nie literał, więc wyszukiwanie konkretnego rekordu staje się zapytaniem o dowolny rekord spełniający warunek. Ta sama ścieżka pomija Ash.Query.limit(1), pozostawiając Ash.read_one/2 zdolnym do rozróżnienia braku dopasowania od jednego dopasowania od kilku, co zamienia predykaty porównawcze w wyrocznię dla wartości lookup. Autoryzacja nie jest naruszona; polityka odczytu docelowego nadal obowiązuje.
- CVE-2026-69659Średnie
Podatność niekontrolowanego zużycia zasobów w ash-project ash pozwala atakującemu wyczerpać pamięć węzła poprzez spreparowany kursor paginacji keyset. Czytanie akcji z paginacją keyset deserializuje dostarczony przez klienta kursor page[:after] lub page[:before] w decode_values/2 w lib/ash/page/keyset.ex, który dekoduje wartość base64 i przekazuje do :erlang.binary_to_term/2 bez ograniczania rozmiaru. Format terminu zewnętrznego Erlanga obsługuje skompresowane payloady zlib, które dekompresor rozszerza transparentnie, więc kursor o rozmiarze kilku kilobajtów może zaalokować dziesiątki megabajtów pamięci w jednym wywołaniu. Ash sam koduje kursory nieskompresowane, więc dekoder akceptuje kształt terminu, którego enkoder nigdy nie produkuje. Równoczesne żądania agregują te alokacje i mogą zakończyć węzeł.
- CVE-2026-55736Średnie
Podatność w bibliotece Ash umożliwia atakującemu ustawienie wartości prywatnego argumentu akcji, który powinien być kontrolowany tylko przez zaufany kod serwera. Filtrowanie prywatnych argumentów jest niekompletne zarówno w ścieżce regularnej (dla kluczy binarnych), jak i w ścieżce atomowej (w ogóle nie filtruje).
- CVE-2025-48044Wysokie
W projekcie ash występuje podatność nieprawidłowej autoryzacji, która umożliwia ominięcie uwierzytelniania. Problem dotyczy plików lib/ash/policy/policy.ex i funkcji 'Elixir.Ash.Policy.Policy':expression/2 w wersjach od 3.6.3 do 3.7.0.
- CVE-2025-48043Wysokie
Biblioteka Ash w wersjach od 0.1.0 do 3.6.2 ma podatność w mechanizmie autoryzacji, która pozwala na ominięcie uwierzytelniania. Problem dotyczy pliku lib/ash/policy/authorizer/authorizer.ex i funkcji strict_filters/2.
Oryginalny opis (angielski, źródło NVD)
Incorrect Authorization vulnerability in ash-project ash allows Exploiting Incorrectly Configured Access Control Security Levels. This vulnerability is associated with program files lib/ash/actions/create/bulk.ex, lib/ash/actions/destroy/bulk.ex, lib/ash/actions/update/bulk.ex and program routines 'Elixir.Ash.Actions.Create.Bulk':run/5, 'Elixir.Ash.Actions.Destroy.Bulk':run/6, 'Elixir.Ash.Actions.Update.Bulk:run'/6. This issue affects ash: from 0.1.0 before 3.5.39.

