CVE-2026-75913
KrytyczneCVSS 9.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 41 - wyżej niż 41% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może nadpisać wrażliwe pliki użytkownika (np. klucze SSH lub konfigurację powłoki), co może prowadzić do trwałego przejęcia konta.
Rekomendacja
Zaktualizuj codewhale / codewhale-tui do wersji 0.8.64 lub nowszej; przestarzały pakiet deepseek-tui nie ma poprawionej wersji i nie powinien być używany.
Inne podatności w CodeWhale
Zobacz wszystkie- 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-75857Wysokie
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.
- 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.27 and < 0.8.64 (published as deepseek-tui >= 0.3.27 and < 0.8.41 on npm and 0.3.27 through 0.8.41 on crates.io, and as codewhale / codewhale-tui >= 0.8.41 and < 0.8.64) contain an argument injection vulnerability in the git_show tool. The model-supplied rev parameter is passed unvalidated into the git show argv without an --end-of-options sentinel, so a value beginning with --output= is interpreted as a git flag. Because the tool is registered as auto-approved and advertised as read-only, an attacker (via a malicious repository combined with prompt injection) can cause an unprompted arbitrary file write at the privilege of the invoking user, targeting sensitive files such as ~/.ssh/authorized_keys, ~/.bashrc, or ~/.gitconfig. Fixed in codewhale / codewhale-tui 0.8.64 by adding rev validation; the deprecated deepseek-tui crate has no fixed release.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

