CVE: CVE-2026-107935
Продукт: Debian
Дата публикации: 09.10.2026
Критичность: CRITICAL
CVSS: 9.3 (3.1)
EPSS: нет данных; процентиль нет данных
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
CVE-2026-107935 — уязвимость типа path traversal (CWE-22) в gvproxy, сетевом форвардере из пакета gvisor-tap-vsock.
Неаутентифицированный эндпоинт
/services/forwarder/expose не проверяет путь к сокету, переданный вызывающим. Это позволяет удалять произвольные файлы на хост-системе.По данным Debian Security Tracker, исправленная версия ещё не выпущена: статус в релизах trixie, sid и forky остаётся открытым. Оценка критичности от Red Hat — 9.3 (CRITICAL) по CVSS 3.1. В статье разобраны механика проблемы, условия эксплуатации и практические шаги проверки и снижения риска для систем Debian.
Основные характеристики
Суть риска: клиент с сетевым доступом к API gvproxy может через подмену пути к сокету инициировать удаление файлов за пределами ожидаемой директории — вплоть до системных файлов хоста. Целостность и доступность нарушаются, раскрытие данных по вектору не предполагается.
Ключевые параметры:
- Тип ошибки: CWE-22 (path traversal) — неконтролируемый путь, передаваемый вызывающим.
- CVSS 3.1: 9.3, CRITICAL; вектор
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:H— атака из смежной сети, без прав и без участия пользователя, с влиянием на целостность и доступность за пределами уязвимого компонента.
- Аутентификация: не требуется — эндпоинт
/services/forwarder/exposeдоступен без проверки подлинности.
- Статус эксплуатации: данные о публичном эксплойте или подтверждённых атаках в доступных источниках отсутствуют.
- EPSS: оценка недоступна — запись NVD ещё ожидает анализа, прогноз вероятности эксплуатации не сформирован.
Какие продукты и версии затронуты
Затронутый компонент — gvproxy, сетевой форвардер из пакета gvisor-tap-vsock (в Debian исходный пакет носит имя
golang-github-containers-gvisor-tap-vsocks).По данным Debian Security Tracker, уязвимость не исправлена ни в одном из перечисленных релизов:
- trixie: версия в репозитории
0.8.1-3, статус открыт, исправленная версия не назначена.
- sid (unstable): версия
0.8.1-4, статус открыт, исправление не назначено.
- forky: версия
0.8.1-4, статус открыт, исправление не назначено.
Срочность исправления в трекере помечена как «not yet assigned». Поле CPE-совпадений в NVD пусто, список затронутых конфигураций не заполнен — запись находится в статусе Awaiting Analysis. О затронутых версиях вне Debian доступные источники сведений не дают.
Причина уязвимости
Корневая причина — отсутствие валидации пути к сокету, передаваемого клиентом. Эндпоинт
/services/forwarder/expose в gvproxy принимает от вызывающего путь к Unix-сокету и использует его для настройки проброса соединений.Проверка на выход за пределы ожидаемой директории (классическая защита от path traversal, CWE-22) в этой точке не выполняется: путь с обходными последовательностями или абсолютный путь обрабатывается как легитимный.
Дополнительный фактор — отсутствие аутентификации на этом эндпоинте: любой клиент с сетевым доступом к API gvproxy обращается к нему без учётных данных. Точная внутренняя логика обработки пути в источниках не раскрыта, поэтому детали реализации остаются не подтверждёнными.
Как работает атака
Механика строится на связке двух дефектов: неаутентифицированный доступ к эндпоинту и отсутствие проверки пути. Злоумышленник отправляет запрос на
/services/forwarder/expose, указав в качестве пути к сокету значение, указывающее на произвольное место файловой системы хоста.Поскольку валидация отсутствует, gvproxy принимает такой путь и выполняет операции с сокетом по указанному адресу. Описание уязвимости указывает, что итогом становится удаление произвольных файлов на хост-системе: механизм форвардинга взаимодействует с файлом-сокетом по контролируемому атакующим пути, и это взаимодействие даёт разрушающий эффект за пределами ожидаемой области.
Вектор CVSS (S:C, I:H, A:H) отражает, что последствия выходят за границы уязвимого компонента: нарушается целостность и доступность самой хост-системы. Конфиденциальность по вектору не затрагивается (C:N) — чтение файлов через эту уязвимость описание не предполагает.
Точная последовательность вызовов API, приводящая к удалению файла, в доступных источниках не детализирована.
Условия успешной эксплуатации
Из описания уязвимости и вектора CVSS следуют такие условия:
- Сетевой доступ к API gvproxy — вектор оценивается как AV:A (adjacent): злоумышленник должен находиться в смежном сетевом сегменте, например внутри гостевой виртуальной машины, контейнерной или локальной сети, где слушает сервис.
- Отсутствие аутентификации — учётные данные не нужны, эндпоинт
/services/forwarder/exposeоткрыт для любого клиента с сетевым доступом.
- Уязвимая версия gvproxy — компонент из пакета gvisor-tap-vsock без исправления; в Debian все перечисленные релизы пока содержат уязвимый код.
- Доступность эндпоинта — сервис должен фактически слушать интерфейс, доступный злоумышленнику; если API привязан только к изолированному интерфейсу, поверхность атаки сужается.
Значения PR:N и UI:N означают, что прав в системе и действий со стороны жертвы не требуется.
Возможный сценарий атаки
Сценарий, следующий из подтверждённых фактов, выглядит так. Пользователь запускает на Debian-хосте окружение на базе gvproxy — например, средство сетевого форвардинга для виртуальных машин или контейнеров. Сервис слушает управляющий API, доступный из гостевой сети.
Процесс, скомпрометированный внутри гостевой системы или работающий на другой машине в смежном сегменте, отправляет запрос к
/services/forwarder/expose без аутентификации. В поле пути к сокету передаётся значение, указывающее на произвольный файл хоста за пределами ожидаемой директории.Поскольку проверка пути отсутствует, gvproxy обрабатывает запрос, и в результате работы механизма форвардинга файл на хосте удаляется. Повторяя запросы с разными путями, атакующий способен вывести из строя критичные файлы — вплоть до нарушения работоспособности системы (это согласуется с оценками A:H и S:C в векторе).
Сам факт удаления файлов следует из официального описания уязвимости; конкретная цепочка подготовки внутри гостя (получение доступа, обнаружение API) — типовой, но не документированный в источниках этап.
Есть ли публичный эксплойт
Доступные источники не содержат сведений о публичном PoC, техническом разборе с воспроизводимыми деталями или подтверждённых атаках с использованием CVE-2026-107935. Запись NVD находится в статусе Awaiting Analysis, EPSS-оценка отсутствует, данных о включении в каталог CISA KEV в пакете нет.
Отсутствие публичного эксплойта на момент публикации не означает его невозможности: описание уязвимости достаточно конкретно (эндпоинт, отсутствие валидации, эффект удаления файлов). Ссылка на исправляющий pull request в репозитории containers/gvisor-tap-vsock (PR №718) подтверждает, что проблема устранялась в апстриме, но не является свидетельством публичной эксплуатации.
Признаки эксплуатации
Специфичные IOC (хэши, домены, сигнатуры запросов) для этой уязвимости в доступных источниках не опубликованы. Ниже — общие, неспецифичные точки контроля для сред с gvproxy:
- Запросы к
/services/forwarder/exposeв журналах API, особенно с путями, содержащими обходные последовательности (./) или указывающими за пределы рабочих директорий.
- Неожиданные обращения к эндпоинту из источников, которым он не нужен (гостевые системы, посторонние узлы смежной сети).
- Исчезновение файлов без действий администратора, особенно конфигурационных и системных, совпадающее по времени с активностью вокруг gvproxy.
- Аномальные записи об операциях с Unix-сокетами в необычных местах файловой системы.
Эти признаки не являются подтверждёнными индикаторами именно этой атаки и служат отправными точками для аудита.
Как обнаружить атаку
Обнаружение строится на трёх направлениях: проверка наличия уязвимого пакета, анализ журналов и контроль целостности файлов.
Сначала убедитесь, что пакет установлен и какая версия используется (команды — в разделе проверки версии). Затем просмотрите журналы gvproxy на предмет обращений к
/services/forwarder/expose и запросов с подозрительными путями к сокету.Для контроля последствий используйте средства проверки целостности (например,
debsums для файлов пакетов или заранее настроенный AIDE): массовое расхождение контрольных сумм системных файлов без соответствующих обновлений — повод для разбирательства.Также проверьте конфигурацию запуска gvproxy: на каком интерфейсе слушает API и кто имеет сетевой доступ до него. Это определяет реальную поверхность атаки в вашей среде.
Как проверить свою версию
Проверьте версию Debian и состояние пакета
golang-github-containers-gvisor-tap-vsocks (заполнитель <имя-пакета> замените на это имя):
Bash:
cat /etc/debian_version
Bash:
cat /etc/os-release
Bash:
apt-cache policy <имя-пакета>
Bash:
dpkg-query -W -f='${Package} ${Version}\n' <имя-пакета>
Сверьте вывод с данными Debian Security Tracker: в trixie уязвима версия
0.8.1-3, в sid и forky — 0.8.1-4. Исправленная версия на момент подготовки материала не назначена, поэтому совпадение с указанными версиями означает, что исправление ещё недоступно в вашем релизе.Исправление
Полноценное исправление — обновление пакета до версии, содержащей патч апстрима. В Debian Security Tracker статус уязвимости для trixie, sid и forky остаётся открытым, исправленная версия не назначена, поэтому на момент публикации обновление через репозитории недоступно.
Что можно делать уже сейчас:
- Отслеживать запись CVE-2026-107935 в Debian Security Tracker и ждать появления исправленной версии в вашем релизе.
- Следить за апстрим-репозиторием containers/gvisor-tap-vsock, где проблема устранялась (PR №718), и учитывать возможность временной установки исправленной сборки из апстрима, если это допустимо вашей политикой.
- После выпуска исправления выполнить обычное обновление пакета через
apt.
Поле «исправлено в» для Debian-релизов в источниках пусто — назвать конкретную целевую версию пакета невозможно.
Временные меры защиты
Пока исправление не выпущено, риск снижается ограничением доступа к уязвимому API:
- Привязать API gvproxy к loopback-интерфейсу или изолированной сети, недоступной из гостевых систем и других смежных сегментов, если конфигурация это позволяет.
- Применить сетевую фильтрацию (firewall) на хосте, разрешив обращения к порту API только доверенным узлам.
- Если функциональность форвардера не нужна — остановить или удалить gvproxy до выпуска исправления.
- Усилить мониторинг журналов на обращения к
/services/forwarder/expose.
Эти меры не устраняют уязвимость, а сокращают число потенциальных источников атак, что особенно значимо при AV:A-векторе.
Как проверить устранение уязвимости
После появления исправленной версии проверьте результат:
Bash:
apt-cache policy <имя-пакета>
Bash:
dpkg-query -W -f='${Package} ${Version}\n' <имя-пакета>
Убедитесь, что установленная версия не ниже исправленной, указанной в Debian Security Tracker (заполнитель
<имя-пакета> замените на golang-github-containers-gvisor-tap-vsocks). Дополнительно проверьте, что статус записи в трекере для вашего релиза сменился с «open» на «fixed», и что сервис gvproxy после обновления работает с корректной конфигурацией доступа к API.Вывод
CVE-2026-107935 — критичная (9.3 CVSS 3.1) уязвимость path traversal в gvproxy, позволяющая неаутентифицированному клиенту из смежной сети удалять произвольные файлы на хосте. Для Debian она особенно актуальна тем, что исправление ещё не выпущено ни для одного релиза: trixie, sid и forky остаются в статусе «open».
Реальная опасность зависит от конфигурации. Если API gvproxy недоступен из гостевых систем и смежных сетей, риск минимален; если же сервис слушает доступный интерфейс, среда с уязвимой версией требует компенсирующих мер. Ограничьте сетевой доступ к API, наблюдайте за журналом эндпоинта
/services/forwarder/expose и отслеживайте появление исправления в Debian Security Tracker.Официальные источники
История обновлений статьи
- 10.10.2026 — Опубликована первая версия материала.
