CVE-2026-75857
WysokieCVSS 7.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 - wyżej niż 5% wszystkich znanych CVE
Streszczenie
Narzędzie exec_shell_interact (alias exec_interact) w CodeWhale zwraca ApprovalRequirement::Auto, co omija domyślne wymaganie zatwierdzenia dla narzędzi wykonujących kod. W efekcie dane wejściowe kontrolowane przez LLM są zapisywane do wcześniej zatwierdzonej interaktywnej powłoki (np. python3 -i, mysql, ssh, sudo -i) bez monitu o zatwierdzenie.
Ocena ryzyka
Atakujący może wstrzyknąć instrukcje przez niezaufane treści przetwarzane przez agenta (strony, wyniki MCP, pliki repozytorium) i uruchomić polecenia z uprawnieniami zatwierdzonego procesu. Może to prowadzić do wykonania dowolnego kodu w kontekście o podwyższonych uprawnieniach.
Rekomendacja
Zaktualizuj codewhale / codewhale-tui do wersji 0.8.64 lub nowszej. Przestarzały pakiet deepseek-tui nie ma poprawki — należy zaprzestać jego używania.
Inne podatności w CodeWhale
Zobacz wszystkie- CVE-2026-75913Krytyczne
CodeWhale w wersjach >= 0.3.27 i < 0.8.64 (publikowanych jako deepseek-tui >= 0.3.27 i < 0.8.41 oraz codewhale / codewhale-tui >= 0.8.41 i < 0.8.64) zawiera podatność na wstrzyknięcie argumentów w narzędziu git_show. Parametr rev dostarczany przez model jest przekazywany bez walidacji do argv git show bez sentinela --end-of-options, więc wartość zaczynająca się od --output= jest interpretowana jako flaga git; ponieważ narzędzie jest automatycznie zatwierdzane i reklamowane jako tylko do odczytu, atakujący (poprzez złośliwe repozytorium i prompt injection) może spowodować niezamierzony zapis dowolnego pliku z uprawnieniami użytkownika wywołującego, celując w wrażliwe pliki, takie jak ~/.ssh/authorized_keys, ~/.bashrc lub ~/.gitconfig.
- 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.3.10 and < 0.8.64 (published as deepseek-tui >= 0.3.10 and < 0.8.41 on npm and 0.3.10 through 0.8.41 on crates.io, and as codewhale / codewhale-tui >= 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 codewhale / codewhale-tui 0.8.64; the deprecated deepseek-tui crate has no fixed release.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

