Nowości
Luka SharedRoot w Claude Cowork dawała dostęp do całego dysku Maca

Firma badawcza Accomplish AI ujawniła lukę bezpieczeństwa w Claude Cowork, narzędziu Anthropic do uruchamiania agentów AI na komputerach Mac. Wystarczyła jedna krótka wiadomość do świeżo uruchomionej sesji, by agent wydostał się z izolowanej maszyny wirtualnej i uzyskał pełny dostęp do zapisu i odczytu plików na hoście, poza folderem, który użytkownik mu udostępnił.
Jak działał atak
Claude Cowork uruchamia pracę agenta wewnątrz maszyny wirtualnej z systemem Linux, tworzonej przez framework wirtualizacji Apple. W teorii izolacja miała chronić komputer użytkownika przed tym, co agent robi w trakcie wykonywania zadań. W praktyce badacze z Accomplish AI znaleźli sześciostopniowy łańcuch, który tę izolację obchodził niemal całkowicie.
Sesyjny użytkownik VM mógł najpierw wywołać funkcję unshare i uzyskać uprawnienia roota we własnej przestrzeni nazw systemu. Dysponując wtedy uprawnieniem CAP_NET_ADMIN, konfigurował ruch sieciowy przy pomocy modułu act_pedit, który automatycznie ładował się do jądra. To otwierało drogę do wykorzystania podatności CVE-2026-46331, pozwalającej zatruć pamięć podręczną stron jądra gościa.
Kolejnym krokiem była eskalacja do pełnych uprawnień roota wewnątrz maszyny wirtualnej, gdy demon coworkd ponownie wykonywał zainfekowane wcześniej pliki binarne. Stąd już prosta droga prowadziła do /mnt/.virtiofs-root, punktu, pod którym cały system plików hosta macOS był zamontowany w trybie do odczytu i zapisu.
Podłączyliśmy folder do świeżej sesji Claude Cowork, wysłaliśmy jedną krótką wiadomość i patrzyliśmy, jak agent ucieka z sandboksa - Oren Yomtov, główny badacz bezpieczeństwa, Accomplish AI
Cztery błędy naraz
Accomplish AI podkreśla, że żaden pojedynczy błąd nie wystarczyłby do przeprowadzenia ataku, gdyby nie zbieg czterech niezależnych decyzji projektowych. Były to włączone nieuprzywilejowane przestrzenie nazw użytkownika, zbyt permisywny filtr seccomp działający na zasadzie domyślnego zezwalania, brak wyłączenia automatycznego ładowania modułów jądra takich jak act_pedit oraz zamontowanie całego systemu plików hosta w trybie zapisu wewnątrz maszyny wirtualnej.
Każdy z tych elementów osobno przerwałby łańcuch ataku. Razem tworzyły ścieżkę, którą można było przejść jedną wiadomością tekstową, bez żadnego monitu o zgodę użytkownika w trakcie eskalacji uprawnień.
Reakcja Anthropic
Zgłoszenie trafiło do Anthropic przed publikacją, zgodnie ze standardową procedurą odpowiedzialnego ujawniania luk. Firma zamknęła je jednak z etykietą informacyjną, bez wydania osobnej poprawki dla trybu lokalnego wykonania agenta. Zamiast tego najnowsza wersja Claude Cowork domyślnie przeniosła wykonywanie zadań agenta do chmury, co w praktyce eliminuje ten konkretny wektor ataku dla nowych instalacji.
Użytkownicy, którzy świadomie wybierają lokalne wykonanie agenta na własnym komputerze, pozostają jednak narażeni. Badacze wskazują, że problem wykracza poza jeden produkt i dotyczy szerszego trendu uruchamiania coraz bardziej autonomicznych agentów AI z dostępem do systemu plików bez pełnej pewności co do granic izolacji, w której działają.
Znaczenie dla programistów
Sprawa SharedRoot wpisuje się w serię ostatnich odkryć pokazujących, że sandboksy izolujące agentów kodujących bywają dziurawsze, niż zakładają ich twórcy. Klucze SSH i poświadczenia chmurowe, do których uzyskiwał dostęp atakujący, to dokładnie te zasoby, których wyciek pozwala przejąć kolejne systemy w łańcuchu dostaw oprogramowania.
Dla firm korzystających z narzędzi typu Cowork oznacza to, że sama etykieta izolacji nie wystarcza jako argument bezpieczeństwa przy audytach. Warto sprawdzić, czy agent uruchamiany lokalnie ma dostęp wyłącznie do wskazanego folderu, czy jednak, jak w tym przypadku, do całego dysku poprzez niedomkniętą lukę w konfiguracji wirtualizacji.
Podatność CVE-2026-46331 w jądrze Linux, na której opierał się atak, przypomina też, że bezpieczeństwo kontenerów i maszyn wirtualnych zależy od tempa łatania samego jądra. Jak zauważają badacze, w przypadku uprzywilejowanych kontenerów systemy pozostają praktycznie zawsze o jedną lukę z tyłu.


