CVE-2026-107935 в Debian: path traversal в gvproxy и удаление файлов на хосте — версии и защита

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.

Официальные источники​


  1. NVD — CVE-2026-107935
  2. Debian Security Tracker — CVE-2026-107935

История обновлений статьи​


  • 10.10.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ