CVE-2026-82564
WysokieCVSS 7.1Streszczenie
Podatność w ash_ai pozwala na obejście autoryzacji przez klucz kontrolowany przez użytkownika, umożliwiając aktualizację lub usunięcie rekordów, których tożsamość nie została potwierdzona, w tym wszystkich wierszy w tabeli. Filtr tożsamości jest budowany bezpośrednio z surowych argumentów narzędzia.
Ocena ryzyka
Atakujący może modyfikować lub usuwać dane, do których nie ma uprawnień, co może prowadzić do naruszenia integralności danych i nieautoryzowanych zmian.
Rekomendacja
Zaleca się aktualizację ash_ai do wersji 1.0.0 lub nowszej, która zawiera poprawkę rzutującą wartości tożsamości na typ pola i odrzucającą dane nieskalarne.
Inne podatności w ash_ai
Zobacz wszystkie- CVE-2026-82580Średnie
W bibliotece ash_ai (wersje od 0.6.0 przed 1.0.0) wykryto podatność polegającą na ujawnianiu wrażliwych informacji w komunikatach błędów. Wyjątki podczas wykonywania narzędzi są wysyłane do użytkownika czatu bez filtrowania, co może ujawnić wewnętrzne szczegóły techniczne.
- CVE-2026-82579Średnie
W bibliotece ash_ai (wersje od 0.6.0 przed 1.0.0) wykryto podatność na nieskończoną pętlę. Atakujący, który może wpływać na odpowiedzi modelu, może zawiesić pętlę narzędzi i powodować nieograniczone, powtarzane żądania do modelu.
- CVE-2026-75760Wysokie
Podatność w ash_ai ujawnia stan żądania i poświadczenia dostawcy w komunikacie błędu walidacji widocznym dla użytkownika. Gdy wywołanie dostawcy osadzania nie powiedzie się, błąd zawiera surowy termin błędu, który może zawierać adres URL, treść odpowiedzi i nagłówek autoryzacji z kluczem API.
- CVE-2026-81315Wysokie
W bibliotece ash_ai projektu ash-project wykryto podatność związaną z błędem walidacji pochodzenia, która pozwala złośliwej stronie internetowej ominąć ochronę DNS-rebinding serwera MCP i wysyłać żądania cross-site do lokalnego serwera MCP użytkownika z jego uprawnieniami. Domyślna konfiguracja allowed_origins: nil powoduje akceptację pochodzenia, gdy uri.host == conn.host i schemat to https, przy czym obie wartości są kontrolowane przez atakującego. Problem dotyczy wersji od 0.8.0 przed 1.0.0.
- CVE-2026-77956Krytyczne
W bibliotece ash_ai projektu ash-project wykryto podatność polegającą na niekontrolowanym generowaniu kodu (Code Injection). Zdalny, nieuwierzytelniony klient może wykonać dowolny kod Elixir, ponieważ funkcja AshAi.Actions.Prompt ocenia treść promptu przez EEx.eval_string/2. Treść promptu może zawierać dane od atakującego, które są kompilowane i wykonywane jako szablon EEx, np. <%= System.cmd(...) %>. Podatność dotyczy wersji od 0.1.0 przed 1.0.0.
Oryginalny opis (angielski, źródło NVD)
Authorization Bypass Through User-Controlled Key vulnerability in ash-project ash_ai allows a caller of an identity-configured tool to update or destroy records it never identified, including every row in the table. In AshAi.Tool.Execution, identity_filter/3 built the update/destroy filter directly from the raw tool arguments as [{key, Map.get(arguments, to_string(key))}] and passed it to Ash.Query.do_filter/2. A map value is parsed as a predicate expression rather than a literal, so a caller can send {"public_ref": {"not_eq": "<own-ref>"}} and, combined with Ash.Query.limit(1) and Ash.bulk_update!/Ash.bulk_destroy!, retarget the write at a record it never identified; an omitted key yields an IS NULL filter that matches an arbitrary row. The fix casts each identity value to the field type, rejecting non-scalar inputs. This issue affects ash_ai: from 0.6.0 before 1.0.0.

