CVE-2026-75857
WysokieCVSS 7.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
CodeWhale w wersjach >= 0.8.41 i < 0.8.64 zawiera podatność w narzędziu exec_shell_interact (alias exec_interact), którego funkcja approval_requirement zwraca ApprovalRequirement::Auto. To nadpisuje domyślne wymaganie Required dla narzędzi wykonujących kod, więc stdin kontrolowane przez LLM jest zapisywane do już zatwierdzonej długotrwałej interaktywnej powłoki (np. python3 -i REPL, mysql, ssh lub sesja sudo -i) bez żadnego promptu zatwierdzającego. Atakujący, który może wstrzyknąć instrukcje poprzez niezaufaną treść, którą agent przetwarza (pobrana strona, wynik MCP lub plik repozytorium), może spowodować wykonanie poleceń z uprawnieniami tego zatwierdzonego procesu. Poprawiono w wersji 0.8.64.
Ocena ryzyka
Atakujący może wykonać polecenia w kontekście zatwierdzonego procesu, co może prowadzić do eskalacji uprawnień, kradzieży danych lub naruszenia integralności systemu.
Rekomendacja
Zaktualizuj CodeWhale do wersji 0.8.64 lub nowszej, która zawiera poprawkę. Ogranicz używanie agenta do zaufanych treści i monitoruj długotrwałe sesje interaktywne.
Inne podatności w CodeWhale
Zobacz wszystkie- CVE-2026-75913Krytyczne
CodeWhale (codewhale / codewhale-tui) w wersjach od 0.8.41 do 0.8.64 zawiera podatność na wstrzykiwanie argumentów w narzędziu git_show. Parametr rev jest przekazywany bez walidacji do polecenia git show, co pozwala na zapis dowolnych plików.
- CVE-2026-75915Wysokie
CodeWhale przed wersją 0.8.64 zawiera podatność na ujawnienie zmiennych środowiskowych w narzędziu js_execution, które nie czyści zmiennych środowiskowych procesu nadrzędnego przed uruchomieniem Node.js. Atakujący może wykonać złośliwy kod JavaScript, który odczyta process.env i wycieknie klucze API, poświadczenia chmurowe i tokeny uwierzytelniające.
- CVE-2026-75914Wysokie
CodeWhale przed wersją 0.8.64 zawiera podatność na przechodzenie poza katalog (path traversal) w narzędziu image_analyze, które nie kanonizuje dowiązań symbolicznych przed odczytem plików. Atakujący może utworzyć dowiązania symboliczne w przestrzeni roboczej wskazujące na zewnętrzne pliki z rozszerzeniami obrazów, aby wyciec ich zawartość do punktu końcowego wizji bez zgody użytkownika.
- CVE-2026-75912Wysokie
CodeWhale przed wersją 0.8.64 zawiera podatność na wstrzykiwanie argumentów w narzędziu git_blame, która pozwala atakującym czytać dowolne pliki poprzez wstrzyknięcie opcji git do niezweryfikowanego parametru rev. Atakujący może podać wartości rev takie jak --contents=/path/to/file, aby wyeksfiltrować wrażliwe pliki, takie jak klucze SSH i poświadczenia.
- CVE-2026-75911Wysokie
CodeWhale przed wersją 0.8.64 nieprawidłowo waliduje parametr allow_shell w plikach konfiguracyjnych projektu, co pozwala atakującym na włączenie wykonywania dowolnych poleceń powłoki poprzez umieszczenie złośliwego pliku .codewhale/config.toml w repozytorium. Gdy użytkownik sklonuje i otworzy repozytorium w CodeWhale, model AI uzyskuje dostęp do narzędzi exec_shell i task_shell, umożliwiając wykonanie dowolnych poleceń powłoki na maszynie ofiary bez wyraźnej zgody użytkownika.
- CVE-2026-75859Wysokie
CodeWhale przed wersją 0.8.64 nie waliduje ścieżek plików w polu instructions konfiguracji projektu, co pozwala atakującym na odczyt dowolnych plików na systemie ofiary. Złośliwy plik .codewhale/config.toml w sklonowanym repozytorium może wskazywać ścieżki poza obszarem roboczym, które są odczytywane i wstrzykiwane do promptu systemowego AI w celu eksfiltracji.
- CVE-2026-75858Wysokie
CodeWhale (pakiety codewhale / codewhale-tui) w wersjach >= 0.8.41 i < 0.8.64 zawiera podatność na zdalne wykonanie kodu w narzędziu rlm_eval. Funkcja approval_requirement() zwraca ApprovalRequirement::Auto, co silnik traktuje jako 'nigdy nie pytaj', powodując wykonanie dowolnego kodu Python dostarczonego przez model w interpreterze python3 bez uwzględnienia skonfigurowanej polityki --approval-policy i bez żadnego promptu zatwierdzającego ani kroku audytu. Atakujący może nakłonić agenta do wykonania dowolnego kodu poprzez wstrzyknięcie promptu w niezaufanej treści, którą agent czyta (strona internetowa, pobrany URL, plik repozytorium lub wynik narzędzia MCP); towarzyszące narzędzie rlm_open może przygotować taką treść. Kod wykonuje się na maszynie użytkownika z jego uprawnieniami. Poprawiono w wersji 0.8.64.
- CVE-2026-75856Wysokie
CodeWhale przed wersją 0.8.64 zawiera podatność na obejście server-side request forgery (SSRF) w logice pinning DNS, która nie zapobiega atakom typu time-of-check-time-of-use. Atakujący mogą manipulować odpowiedziami DNS, aby nie przechodziły one wstępnych kontroli rozwiązywania, a następnie przechodziły w kolejnych żądaniach, co pozwala na wysyłanie żądań do wewnętrznych adresów IP i obejście zabezpieczeń SSRF.
Oryginalny opis (angielski, źródło NVD)
CodeWhale versions >= 0.8.41 and < 0.8.64 contain a vulnerability in the exec_shell_interact (alias exec_interact) tool, whose approval_requirement returns ApprovalRequirement::Auto. This overrides the default Required approval for code-executing tools, so LLM-controlled stdin is written into an already-approved long-running interactive shell (e.g., a python3 -i REPL, mysql, ssh, or sudo -i session) without any approval prompt. An attacker who can inject instructions via untrusted content the agent ingests (a fetched page, MCP result, or repo file) can cause commands to run at the privilege level of that approved process. Fixed in 0.8.64.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

