CVE-2026-77956
KrytyczneCVSS 10.0Streszczenie
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.
Ocena ryzyka
Atakujący bez uwierzytelnienia może wykonać dowolny kod na serwerze, co może prowadzić do pełnego przejęcia systemu, kradzieży danych lub zakłócenia działania usług.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę ash_ai do wersji 1.0.0 lub nowszej, która zawiera poprawkę uniemożliwiającą ocenę promptów dostarczanych przez funkcje jako EEx. Do czasu aktualizacji należy ograniczyć dostęp do akcji prompt.
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-82564Wysokie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
Improper Control of Generation of Code (Code Injection) vulnerability in ash-project ash_ai allows a remote, unauthenticated client to execute arbitrary Elixir code. AshAi.Actions.Prompt evaluates prompt content through EEx.eval_string/2. The documented prompt: fn input, context -> ... end form lets the prompt content be built from action arguments, so when a prompt action's text incorporates request data, that attacker-controlled text is compiled and run as an EEx template (Elixir source). Content such as <%= System.cmd(...) %> therefore executes on the server before any model request is made, requiring no authentication beyond reaching a prompt action. The fix stops evaluating function-supplied prompt content as EEx; only statically configured templates are evaluated. This issue affects ash_ai: from 0.1.0 before 1.0.0.

