CVE-2026-53657: root внутри Lima QEMU-гостя через открытый сокет агента — 2 июля 2026 г. в 08:04:06.870
CVE-2026-53657: root внутри Lima QEMU-гостя через открытый сокет агента Разобрал CVE-2026-53657 в Lima: до версии v2.1.2 непривилегированный пользователь внутри QEMU-гостя мог подключиться к /run/lima-guestagent.sock и через lima-guestagent, запущенный от root, выполнить команды с uid=0 внутри этой же VM. В advisory уязвимость оценена как High, CVSS 8.2; исправление вышло в Lima v2.1.3. Механика сводится к открытой локальной границе доверия. Агент гостевой системы в QEMU-режиме работал от root, поднимал gRPC API без аутентификации на Unix-сокете и выставлял этому сокету права 0o777. За сокетом был RPC-вызов Tunnel: агент мог открыть соединение к адресу, который задает клиент, включая локальные Unix-сокеты привилегированных демонов. В итоге обычный пользователь гостя мог заставить root-процесс выступить посредником, а конечный сервис видел учетные данные агента, а не исходного пользователя. Публично описанная цепочка выглядит так: непривилегированный пользователь -> /run/lima-guestagent.sock (mode 0o777, владелец root) -> gRPC API агента гостевой системы без аутентификации -> Tunnel RPC, который подключается к произвольному адресу от имени root -> root-only IPC, например D-Bus -> выполнение команд как root внутри гостя Корневая причина сводится к одной строке в cmd/lima-guestagent/daemon_linux.go в Lima v2.1.2: os.Chmod(socket, 0o777) Границы воздействия здесь стоит держать точными: это не побег из гостевой VM на хост и не удаленная эксплуатация. Атакующему уже нужен локальный доступ внутрь Lima QEMU VM. VZ-драйвер на macOS не затронут: там агент использует vsock, а не этот Unix-сокет. Но для сред разработки, где в одной VM живут разные процессы, CI-задачи или тестовые нагрузки, баг ломает внутреннюю модель изоляции: обычный аккаунт становится root внутри гостя. Исправление получилось минимальным. Commit 8a45892 меняет модель доступа к сокету: вместо chmod 0o777 Lima добавила параметр --socket-owner, передает UID основного пользователя, меняет владельца сокета через chown и ставит chmod 0o600. Граница доступа закрывается на уровне IPC, без переписывания каждого RPC-вызова. Публичного PoC на CVE-2026-53657 сейчас нет. Авторы write-up на Syntetisk прямо пишут, что намеренно не публикуют пошаговые детали эксплуатации: точку назначения для перенаправления, механику проксирования и исполняемые файлы PoC они оставляют приватными. Если командам нужно проверить уязвимость до или после обновления, исследователи предлагают связаться с ними напрямую. Быстрая самостоятельная проверка внутри гостя — владелец и права /run/lima-guestagent.sock: 0o777 root указывает на уязвимое состояние, 0o600 на основном пользователе соответствует исправлению. Теоретически PoC можно собрать из исходников Lima v2.1.2 + оригинальный райтап + ИИ агент (я советую попробовать Mimo v2.5 Pro или GLM 5.2, они меньше сопротивляются для написания сплойтов и автосканеров. Но сойдет gpt-5.5 или sonnet 4.6 [НЕ 5 ВЕРСИЯ]/opus 4.8 ). @poxek | @poxek_ai | MAX

