CVE-2026-70460 в Debian: обход изоляции rsync через символические ссылки

CVE: CVE-2026-70460
Продукт: Debian
Дата публикации: 13.08.2026
Критичность: CRITICAL
CVSS: 9.2 (4.0)
EPSS: 0,45%; процентиль 37,42%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


Уязвимость CVE-2026-70460 в rsync (версии 2.3.3–3.4.x) позволяет злоумышленнику выйти за пределы корневого каталога модуля при использовании опций --partial-dir или --backup-dir. Атакующий, контролирующий отправителя и имеющий возможность создать или использовать символическую ссылку, может записать произвольные файлы в файловую систему. В Debian исправление доступно только для ветки sid; выпуски bookworm, bullseye, forky и trixie остаются уязвимыми.

Основные характеристики​


Уязвимость имеет критический уровень опасности (CVSS 4.0: 9.2) и относится к классам CWE-22 (Path Traversal) и CWE-59 (Improper Link Resolution). Основной риск заключается в нарушении изоляции файлового модуля rsync. При наличии символической ссылки, указывающей за пределы корня модуля, rsync следует по ней при операциях резервного копирования или сохранения частичных файлов. Это позволяет перенаправить запись в произвольные директории файловой системы, потенциально перезаписывая системные файлы или внедряя вредоносный код.

Какие продукты и версии затронуты​


В Debian уязвимость затрагивает пакет rsync. Согласно Debian Security Tracker, статус уязвимости различается в зависимости от выпуска:

  • Debian 12 (bookworm): Уязвимость открыта (open). Текущие версии: 3.2.7-1+deb12u6 (main) и 3.2.7-1+deb12u5 (security). Исправление отсутствует.
  • Debian 11 (bullseye): Уязвимость открыта (open). Текущие версии: 3.2.3-4+deb11u1 (main) и 3.2.3-4+deb11u4 (security). Исправление отсутствует.
  • Debian forky: Уязвимость открыта (open). Текущая версия: 3.4.4+ds1-1. Исправление отсутствует.
  • Debian trixie: Уязвимость открыта (open). Текущие версии: 3.4.1+ds1-5+deb13u4 (main) и 3.4.1+ds1-5+deb13u3 (security). Исправление отсутствует.
  • Debian sid (unstable): Уязвимость исправлена (resolved). Исправленная версия: 3.5.0+ds1-1. Текущая версия в репозитории: 3.5.0+ds1-2.

Версии rsync от 2.3.3 до 3.4.x содержат уязвимость. Версия 3.5.0 и выше — исправлены.

Причина уязвимости​


Причиной уязвимости является недостаточная проверка путей при разрешении символических ссылок в rsync. При использовании опций --partial-dir (для сохранения незавершенных передач) или --backup-dir (для хранения резервных копий заменяемых файлов), rsync не блокирует переход по символическим ссылкам, указывающим за пределы корневого каталога модуля. Если в дереве файлов модуля присутствует символическая ссылка, ведущая на директорию выше корня модуля, rsync следует этой ссылке и выполняет операции записи в целевом месте, игнорируя границы изоляции модуля.

Как работает атака​


Механизм атаки основан на манипуляции с символическими ссылками (symlinks) внутри файлового дерева, доступного для rsync.

  1. Подготовка: Атакующий должен иметь возможность создать символическую ссылку в директории, которая синхронизируется через rsync, либо использовать уже существующую «доверенную» ссылку.
  2. Настройка ссылки: Символическая ссылка создается так, чтобы она указывала на директорию, находящуюся выше корневого каталога модуля rsync.
  3. Инициация передачи: Атакующий инициирует передачу данных с использованием rsync, указывая опции --partial-dir или --backup-dir.
  4. Обход изоляции: Когда rsync обрабатывает файл, соответствующий символической ссылке, он следует по ссылке. Вместо того чтобы ограничиться корнем модуля, rsync создает файлы или директории в целевой директории, указанной ссылкой.
  5. Результат: Происходит запись произвольных файлов в файловую систему за пределами изолированного модуля.

Условия успешной эксплуатации​


Для успешной эксплуатации требуются следующие условия:

  • Доступ к созданию ссылок: Атакующий должен иметь права на запись в директорию модуля rsync для создания символических ссылок, либо знать о существовании и расположении уже созданных ссылок.
  • Контроль над отправителем: Атакующий должен контролировать сторону, отправляющую данные (sender), чтобы инициировать передачу с нужными опциями.
  • Использование уязвимых опций: В конфигурации rsync или в командной строке должны быть использованы опции --partial-dir или --backup-dir.
  • Уязвимая версия: На принимающей стороне должна быть установлена версия rsync младше 3.5.0.

Возможный сценарий атаки​


Рассмотрим сценарий, где злоумышленник имеет доступ к веб-серверу, файлы которого синхронизируются с резервным сервером через rsync.

  1. Злоумышленник загружает на веб-сервер символическую ссылку, указывающую на системную директорию (например, /etc/cron.d/).
  2. Резервный сервер настроен на использование rsync с опцией --backup-dir.
  3. При синхронизации rsync на резервном сервере обрабатывает файл, соответствующий символической ссылке.
  4. Из-за уязвимости rsync следует по ссылке и пытается создать резервную копию в целевой системной директории.
  5. Если атакующий контролирует содержимое передаваемого файла, он может записать вредоносный скрипт в системную директорию, потенциально получая выполнение кода с привилегиями.

Этот сценарий демонстрирует, как локальная уязвимость в rsync может привести к компрометации системы, если атакующий контролирует источник данных.

Есть ли публичный эксплойт​


На момент публикации информации о CVE-2026-70460, публичные эксплойты или готовые PoC-коды не были подтверждены в официальных источниках. Механизм уязвимости хорошо документирован. Отсутствие публичного эксплойта не означает отсутствие эксплуатации в реальных атаках. Учитывая критический уровень CVSS и простоту концепции, вероятность использования уязвимости в целевых атаках высока.

Признаки эксплуатации​


Специфичные индикаторы компрометации (IOC) для CVE-2026-70460 не определены, так как атака зависит от контекста развертывания. Общие признаки, которые могут указывать на эксплуатацию:

  • Неожиданные файлы в системных директориях: Появление файлов с именами, характерными для rsync, в директориях, таких как /etc/, /var/, /tmp/.
  • Символические ссылки в неожиданных местах: Наличие символических ссылок в директориях, синхронизируемых через rsync, которые указывают за пределы этих директорий.
  • Аномальная активность rsync: Логи rsync, показывающие ошибки разрешения путей или создание файлов в нестандартных директориях.

Эти признаки неспецифичны и могут быть вызваны легитимной активностью, поэтому требуют дополнительного анализа.

Как обнаружить атаку​


Для обнаружения признаков эксплуатации рекомендуется:

  1. Аудит символических ссылок: Проверка директорий, используемых в rsync, на наличие символических ссылок, указывающих за пределы этих директорий.
  2. Мониторинг логов rsync: Анализ логов rsync на предмет ошибок, связанных с разрешением путей, или неожиданных операций записи.
  3. Инвентаризация файлов: Регулярная проверка системных директорий на наличие новых файлов, которые не должны там находиться.
  4. Использование инструментов целостности: Инструменты, такие как AIDE или Tripwire, могут помочь обнаружить несанкционированные изменения в файловой системе.

Как проверить свою версию​


Для проверки версии установленного пакета rsync в Debian используйте следующие команды:

Bash:
dpkg-query -W -f='${Package} ${Version}\n' rsync

Или:

Bash:
apt-cache policy rsync

Если версия пакета младше 3.5.0, система уязвима. Для Debian sid исправленная версия 3.5.0+ds1-1 уже доступна.

Исправление​


Единственным надежным способом устранения уязвимости является обновление пакета rsync до версии 3.5.0 или выше.

  • Для Debian sid: Выполните обновление системы:

    Bash:
    apt-get update
    apt-get install rsync

    Убедитесь, что установлена версия 3.5.0+ds1-2 или новее.
  • Для Debian bookworm, bullseye, forky, trixie: На момент публикации исправление не доступно в официальных репозиториях. Рекомендуется:
    1. Отслеживать обновления в Debian Security Tracker.
    2. Рассмотреть возможность ручного патчинга или обновления до версии из sid, если это допустимо в вашей среде.
    3. Применить временные меры защиты, описанные ниже.

Временные меры защиты​


Пока исправление не доступно, рекомендуется применить следующие временные меры:

  1. Отключение уязвимых опций: Избегайте использования опций --partial-dir и --backup-dir в конфигурациях rsync, если это возможно.
  2. Ограничение прав на создание ссылок: Убедитесь, что только доверенные пользователи могут создавать символические ссылки в директориях, синхронизируемых через rsync.
  3. Использование chroot или контейнеров: Запуск rsync в изолированной среде (chroot, Docker, LXC) может ограничить последствия выхода за пределы модуля.
  4. Мониторинг файловой системы: Настройте мониторинг на обнаружение новых файлов в системных директориях.
  5. Проверка существующих ссылок: Удалите или исправьте символические ссылки в директориях rsync, которые указывают за пределы этих директорий.

Как проверить устранение уязвимости​


После обновления или применения временных мер, выполните следующие шаги для проверки:

  1. Проверка версии:

    Bash:
    dpkg-query -W -f='${Package} ${Version}\n' rsync

    Убедитесь, что версия 3.5.0 или выше.
  2. Проверка конфигурации: Убедитесь, что опции --partial-dir и --backup-dir не используются или настроены безопасно.
  3. Мониторинг: Продолжайте мониторинг логов rsync и файловой системы на предмет аномалий.

Вывод​


CVE-2026-70460 представляет серьезную угрозу для систем, использующих rsync с опциями --partial-dir или --backup-dir. Уязвимость позволяет злоумышленнику выйти за пределы изолированного модуля и записать произвольные файлы в файловую систему. В Debian исправление доступно только для ветки sid, что оставляет большинство стабильных выпусков уязвимыми. Администраторам следует немедленно применить временные меры защиты, такие как отключение уязвимых опций и ограничение прав на создание ссылок, и тщательно отслеживать выход официальных обновлений.

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


  1. NVD — CVE-2026-70460
  2. Debian Security Tracker — CVE-2026-70460
  3. FIRST EPSS — CVE-2026-70460

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


  • 15.08.2026 — Опубликована первая версия материала.
  • 20.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
 
Последнее редактирование:
Назад
Верх Низ