Новости · Безопасность файлов

Rsync 3.5.0: полный аудит закрыл 33 CVE в главном синхронизаторе файлов

12 августа 2026 года вышла версия rsync 3.5.0 — крупнейший патч безопасности за всю историю проекта. Команда провела полный аудит кодовой базы и устранила 33 уязвимости, включая одну критическую: она позволяла клиенту подменять свой IP-адрес при подключении к дэмону rsync.

31 августа 2026 Редакция LoadFile Чтение 6 мин
Щит с замком, папки с синхронизацией и сетевые кабели — безопасность rsync 3.5.0

Коротко: 12 августа 2026 вышел rsync 3.5.0 — рекордный патч безопасности с 33 CVE, из которых одна критическая (CVE-2026-53791). Критическая уязвимость касается дэмонов с включённым proxy protocol: клиент мог подменить заголовок PROXY и обойти IP-фильтры. Также закрыты многочисленные выходы за пределы каталогов через симлинки и heap-переполнения в нескольких компонентах. Каждое исправление сопровождается регрессионным тестом; для дистрибутивов выпущены бэкпорты к версиям 3.4.1 и 3.2.7.

Содержание
  1. Что такое rsync и почему важны его патчи
  2. Критическая уязвимость: спуфинг IP через proxy protocol
  3. Проблемы с симлинками и выходом за пределы каталогов
  4. Безопасность памяти и DoS-векторы
  5. Прочие исправления: SSL, инъекция, бэкпорты
  6. Что это значит для работы с файлами
  7. Как обновиться до rsync 3.5.0
  8. Источники

Что такое rsync и почему важны его патчи

Rsync — это утилита для быстрой и экономичной синхронизации файлов: она передаёт между машинами только изменившиеся части файлов, а не весь файл целиком. По данным репозитория Samba (материнский проект), rsync предустановлен по умолчанию на большинстве Linux-дистрибутивов и macOS; его используют и для ежедневных бэкапов, и как ключевой инструмент в серверных пайплайнах. Именно поэтому обновления безопасности здесь важны не меньше, чем в браузере или архиваторе.

Версия 3.5.0 вышла 12 августа 2026 года. Разработчики описывают её как результат полноценного аудита кодовой базы, а не точечных правок: каждое из 33 исправлений снабжено регрессионным тестом, который проваливается на незапатченном дереве. По числу закрытых CVE за один релиз 3.5.0 — рекорд для проекта.

Критическая уязвимость: спуфинг IP через proxy protocol

Единственная критическая уязвимость в релизе — CVE-2026-53791. Она затрагивает дэмоны rsync, у которых в конфигурации задан параметр proxy protocol = true. Такая настройка используется, когда rsync стоит за балансировщиком или обратным прокси, и дэмону нужно знать реальный IP клиента из заголовка PROXY.

Проблема в том, что до версии 3.5.0 дэмон не проверял, кто прислал заголовок PROXY. Клиент, подключившийся напрямую в обход прокси, мог сформировать собственный заголовок с произвольным IP-адресом — и дэмон воспринимал его как подлинный. На практике это позволяло обойти списки доступа, основанные на IP: злоумышленник имитировал адрес доверенного хоста и получал доступ к данным, закрытым для его реального адреса.

!
Кого затрагивает

Уязвимость актуальна только при proxy protocol = true в конфиге дэмона. Пользователи, использующие rsync через SSH или без дэмона, этой проблеме не подвержены. Тем не менее для дэмон-конфигураций обновление критически важно.

Проблемы с симлинками и выходом за пределы каталогов

Значительная часть исправлений в 3.5.0 устраняет разновидность path traversal применительно к символическим ссылкам. По описанию авторов, несколько опций rsync ненадлежащим образом ограничивали область действия передачи, из-за чего файлы могли создаваться или читаться за пределами указанного каталога.

  • Опции --relative, --temp-dir, --link-dest. Каждая из них отвечает за особый способ адресации файлов при синхронизации. В каждом случае не хватало проверки, что итоговый путь остаётся внутри заданной директории.
  • ACL и расширенные атрибуты. Обработка метаданных файлов (права доступа, пользовательские атрибуты) также могла приводить к обращению к файлам за пределами разрешённого дерева.
  • Обёртка rrsync. Этот SSH-враппер, ограничивающий rsync конкретным каталогом, тоже получил несколько правок изоляции.
  • Симлинки с флагом --links. Rsync теперь не позволяет символическим ссылкам «выходить» за пределы каталога назначения при передаче. По умолчанию также отключено восстановление битов setuid/setgid/sticky из метаданных.

Все эти уязвимости имеют статус High по шкале CVSS. Схожий класс атак — Zip Slip при распаковке архивов — подробно описан в нашем разборе патча Rclone 1.74.4, закрывшего аналогичную проблему в другой утилите для работы с файлами.

Безопасность памяти и DoS-векторы

Аудит кодовой базы выявил несколько мест, где через специально сформированные данные протокола можно было вызвать запись за пределы выделенного буфера (heap out-of-bounds write):

  • Обработка фильтров. Механизм правил включения/исключения файлов содержал heap OOB при разборе длинных или составных паттернов.
  • Разбор аргументов. Парсинг аргументов протокола был уязвим к OOB при определённых комбинациях опций.
  • Обработка жёстких ссылок. Логика hard-link handling также допускала подобную запись за границу буфера.

Все три вектора достижимы через протокол дэмона удалённо — то есть без физического доступа к машине. Вторая категория — DoS: специально составленные цепочки контрольных сумм приводили к квадратичному расходу CPU, что позволяло чрезмерно загрузить сервер небольшим объёмом запросов.

Прочие исправления: SSL, инъекция в терминал, бэкпорты

В 3.5.0 вошло ещё несколько правок, менее масштабных, но принципиально важных для конкретных сценариев:

  • Терминальная инъекция через имена файлов. Имена файлов с управляющими символами (например, ANSI-escape-последовательностями) могли искажать вывод в терминале или в журнале. Rsync теперь экранирует такие символы в диагностических сообщениях.
  • Проверка сертификата в rsync-ssl. Режим шифрованного транспорта дополнен корректной валидацией сертификата удалённого сервера — ранее проверка могла в ряде случаев пропускаться.
  • Управление таймаутом. Вредоносный пир мог манипулировать значением таймаута соединения. Теперь параметр обрабатывается строже.
  • Бэкпорты для дистрибутивов. Не все системы быстро переходят на свежую мажорную версию. Для них выпущены бэкпорты к rsync 3.4.1 и 3.2.7 со всеми критическими и high-серьёзными правками. Конкретный набор CVE в каждом бэкпорте зависит от применимости к старой кодовой базе.

Что это значит для работы с файлами

История rsync 3.5.0 наглядно показывает: привычные утилиты передачи и синхронизации файлов — это не «безопасный по умолчанию» набор инструментов. Rsync принимает файловые пути, имена, атрибуты и управляющие данные от удалённой стороны. Каждый из этих векторов — потенциальный вход для ошибки в парсере.

Тот же паттерн проявляется и в других утилитах: OpenSSH 10.4 в июне 2026 закрыл уязвимости в sftp и scp. Обновлять утилиты для работы с файлами следует так же дисциплинированно, как браузер. Общие правила — в разделе безопасность файлов: как проверять источники, ограничивать доступ к дэмонам и безопасно передавать данные.

Как обновиться до rsync 3.5.0

  1. Проверьте версию командой rsync --version. Первая строка вывода покажет номер версии.
  2. Если версия ниже 3.5 — обновите rsync через менеджер пакетов вашего дистрибутива: apt upgrade rsync, dnf upgrade rsync, brew upgrade rsync.
  3. Если дистрибутив ещё не собрал 3.5.0 — уточните, доступен ли бэкпорт для 3.4.1 или 3.2.7. Большинство мейнтейнеров выпустили обновлённые пакеты в течение нескольких дней после релиза.
  4. Если вы управляете дэмоном rsync с настройкой proxy protocol = true — обновление первоочерёдно. До его применения рассмотрите временное отключение proxy protocol или ограничение доступа по сети.
  5. Если rsync встроен в ваш сервер или Docker-образ — пересоберите образ на обновлённой базе, чтобы в нём появились все исправления.

Источники

Читайте также