Podatność w mechanizmie obsługi worktree w narzędziu Claude Code (wersje 2.1.38–2.1.162) umożliwia ucieczkę poza piaskownicę i wykonanie kodu w kontekście systemu operacyjnego użytkownika. Atakujący może skłonić ofiarę do sklonowania złośliwego repozytorium i uruchomienia Claude Code, co prowadzi do nadpisania plików w katalogu domowym i przejęcia kontroli nad środowiskiem.
▸ Pokaż oryginał (EN)
Claude Code is an agentic coding tool. From 2.1.38 until 2.1.163, Claude Code's worktree handling allowed creation of worktrees named ".git" and navigation to worktrees outside the sandbox context, enabling git directory confusion attacks. By exploiting symlink manipulation and git fsmonitor execution during worktree operations, an attacker could overwrite files in the user's home directory (such as .zshenv), leading to code execution outside of seatbelt sandbox restrictions. Reliably exploiting this required the user to clone a malicious repository containing prompt injection content and run Claude Code against it. This vulnerability is fixed in 2.1.163.
Podatność wynika z nieprawidłowej walidacji nazw i ścieżek worktree — możliwe było utworzenie worktree o nazwie '.git' oraz nawigacja do worktree poza kontekstem sandboxu (path traversal, CWE-22 i CWE-59). Atakujący mógł następnie manipulować dowiązaniami symbolicznymi (symlink manipulation) oraz wykorzystać mechanizm git fsmonitor uruchamiany podczas operacji na worktree (command injection, CWE-78). Połączenie tych technik pozwalało na nadpisanie plików konfiguracyjnych w katalogu domowym użytkownika, takich jak .zshenv. W praktyce exploit wymagał, by użytkownik sklonował złośliwe repozytorium zawierające treści prompt injection i uruchomił przeciwko niemu Claude Code.
Atakujący może nadpisać pliki konfiguracyjne powłoki w katalogu domowym użytkownika (np. .zshenv), co prowadzi do wykonania dowolnego kodu poza ograniczeniami piaskownicy seatbelt — z pełnymi uprawnieniami użytkownika uruchamiającego narzędzie.
Należy zaktualizować Claude Code do wersji 2.1.163 lub nowszej, w której podatność została naprawiona. Do czasu aktualizacji nie należy uruchamiać Claude Code przeciwko niezaufanym lub nieznanym repozytoriom.
Anthropic Claude Code w wersjach od 2.1.38 do 2.1.162 (włącznie).
Podatność wymaga interakcji użytkownika (sklonowanie złośliwego repozytorium i uruchomienie narzędzia), co ogranicza możliwość masowego wykorzystania, jednak scenariusz ataku przez złośliwe repozytoria publiczne jest realistyczny w środowiskach developerskich. Szczegóły opublikowano w GitHub Security Advisory GHSA-7835-87q9-rgvv.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XAnthropic Claude Code
APPAnthropic2.1.38 – 2.1.163 (bez)
Powiązane podatności
In versions 2.1.63 through 2.1.83 of Claude Code, the folder trust determination logic used the git worktree c...
Claude Code is an agentic coding tool. Prior to version 2.1.64, Claude Code's sandbox did not prevent sandboxe...
Claude Code is an agentic coding tool. Versions prior to 2.1.53 resolved the permission mode from settings fil...
Claude Code is an agentic coding tool. Prior to version 2.0.57, Claude Code failed to properly validate direct...
Claude Code is an agentic coding tool. Prior to version 2.1.2, Claude Code's bubblewrap sandboxing mechanism f...