SharedRoot: агент Claude Cowork мог выбраться из виртуальной машины к файлам Mac
Специалисты компании Accomplish AI обнаружили уязвимость выхода из песочницы в Claude Cowork — локальном ИИ-агенте Anthropic для macOS. Проблема, получившая кодовое имя SharedRoot, позволяла агенту покинуть пределы Linux-виртуальной машины, внутри которой он работает, и читать или записывать файлы в любом месте на компьютере Mac. По данным исследователей, до выпуска исправления уязвимости были подвержены около 500 тысяч пользователей macOS, запускавших локальные сессии Cowork.
«Мы подключили папку к свежей сессии Claude Cowork, отправили одно короткое сообщение — и увидели, как агент выходит из песочницы», — рассказал ведущий исследователь Орен Йомтов. Из виртуальной машины агент добрался до хостовой системы и получил доступ к файлам далеко за пределами подключённой папки, причём без единого запроса на подтверждение.
Как устроен побег
Приложение Cowork запускает саму работу агента в Linux-VM, созданной через фреймворк виртуализации Apple. Каждая сессия получает одноразового непривилегированного пользователя и seccomp-фильтр. Однако, как выяснилось, коренная проблема — в том, что весь хостовый корень «/» монтируется в виртуальную машину с правами на чтение и запись, доступный root-пользователю гостевой системы по пути /mnt/.virtiofs-root.
Чтобы получить права root внутри гостя, атака использует подсистему Traffic Control ядра Linux (модуль act_pedit), загружаемую в непривилегированное пользовательское пространство имён, и эксплуатирует недавно раскрытую уязвимость CVE-2026-46331 ("pedit COW"). Создание пространств имён даёт сессии возможность CAP_NET_ADMIN, что и открывает доступ к уязвимому пути в ядре. По словам сооснователя Accomplish AI Ора Хилтча, «пространства имён — не сама эксплуатация, они делают её обычно привилегированное условие доступным рядовому пользователю».
Реакция и защита
Anthropic после раскрытия закрыла отчёт как «информационный», не выпустив отдельного патча. При этом свежая версия Cowork по умолчанию выполняет работу в облаке, что снимает проблему, — но те, кто сознательно запускает агента локально, по-прежнему уязвимы.
Исследователи подчёркивают структурный характер проблемы. «act_pedit — это лишь один баг из целой категории», — отмечает Йомтов. Подсистема net/sched ядра Linux регулярно порождает уязвимости той же формы: автозагружаемый модуль, путь к настройке, доступный непривилегированному пользователю, и ошибка работы с памятью в конце. «Это не проблема, решаемая более быстрым патчингом. Вы структурно всегда на один баг позади».
В качестве мер защиты предлагается отключить непривилегированные пространства имён, запретить автозагрузку модулей и, главное, ограничить монтирование хоста в VM — подключать только реально выбранные папки вместо всего «/» или монтировать их только для чтения. Тогда даже полученный root в госте окажется бесполезным: последним звеньям цепочки будет попросту некуда приземлиться.
Источник: The Hacker News
Комментарии
Войдите, чтобы комментировать.