CVE-2026-81315
WysokieCVSS 7.4Streszczenie
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.
Ocena ryzyka
Atakujący może przejąć kontrolę nad lokalnym serwerem MCP użytkownika, wykonując operacje w jego imieniu, co może prowadzić do nieautoryzowanego dostępu do danych lub usług.
Rekomendacja
Należy zaktualizować ash_ai do wersji 1.0.0 lub nowszej, która domyślnie ufa tylko pochodzeniu localhost i wymaga jawnej listy dozwolonych pochodzeń dla innych źródeł.
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-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)
Origin Validation Error vulnerability in ash-project ash_ai allows a malicious web page to bypass the MCP server's DNS-rebinding protection and issue cross-site requests to a user's local MCP server with that user's actor. In AshAi.Mcp.Server, with the default allowed_origins: nil, origin_allowed?/3 accepts an origin when uri.host == conn.host and the forwarded scheme is https. Both values are attacker-controlled: conn.host comes from the Host header and the scheme is read from the raw x-forwarded-proto header with no trusted-proxy check. Under DNS rebinding the browser sends the attacker's origin and a matching host, and page JavaScript may set X-Forwarded-Proto: https, so the check passes with no TLS or proxy involved. The fix trusts only localhost origins by default; other origins require an explicit allowed_origins allowlist. This issue affects ash_ai: from 0.8.0 before 1.0.0.

