Опубликован релиз Rsync 3.5.0, утилиты для синхронизации файлов и резервного копирования, позволяющей минимизировать трафик за счёт инкрементального копирования изменений. В качестве транспорта могут быть использованы ssh, rsh или собственный протокол rsync. Поддерживается организация работы анонимных rsync-серверов, оптимально подходящих для обеспечения синхронизации зеркал. Код проекта распространяется под лицензией GPLv3. Новая версия примечательна проведением работы по усилению безопасности и устранением 33 уязвимостей, большинство из которых выявлено в процессе аудита обработки файловых путей и реализации протокола. Одной уязвимости присвоен критический уровень опасности, 17 - высокий, а 15 - средний.
Среди исправленных проблем:
- Критическая уязвимость в реализации протокола (CVE-2026-53791), позволяющая при работе в режиме "proxy protocol = true" подменить свой IP-адрес и обойти правила ограничения доступа через прямое подключение с выставлением заголовка PROXY и указанием в нём другого адреса.
- Возможность подстановки дополнительных команд и аргументов (CVE-2026-53790) при вызове внешних команд через переменную окружения RSYNC_CONNECT_PROG, exec-обработчики или обвязку rsync-ssl. Уязвимость возникает из-за вставки без экранирования получаемых из вне значений, таких как имя хоста, имя модуля и имя пользователя.
- Запись за пределы выделенного буфера из-за того, что не учитывался размер финального обратного слэша в правилах фильтров (CVE-2026-70461), неверной обрабатывались жёсткие ссылки (CVE-2026-70458) и не учитывался нулевой символ при разборе максимального числа аргументов (CVE-2026-70456).
- 11 уязвимостей, вызванных некорректной работой с символическими ссылками. Проблемы могут быть эксплуатированы локальным пользователем, имеющим возможность подменить файлы или каталоги, на которые ссылаются опции при запуске привилегированного процесса rsync. Уязвимости могут привести к чтению (CVE-2026-53802) и записи (CVE-2026-53803) произвольных файлов в файловой системе, а также к выходу за пределы chroot-каталога. Например, если rsync запускается с опцией "--log-file=/tmp/rsync.log", то атакующий может подменить rsync.log на символическую ссылку "/root/.ssh/authorized_keys" и добиться добавления своих данных в файл authorized_keys. Также атакующий мог воспользоваться состоянием гонки и заменить целевой каталог на символическую ссылку в момент после завершения сканирования содержимого, но до начала выполнения операции копирования.
- Выход за пределы допустимого базового каталога при использовании обвязки rrsync (CVE-2026-53783), которая проверяла путь с помощью realpath(), после чего запускала rsync с тем же путём. Атака сводится к замене пути на символическую ссылку в момент между проверкой и фактическим использованием.
- Серия уязвимостей, приводящих к отказу в обслуживании или повышенному потреблению ресурсов при работе фонового процесса (CVE-2026-70455, CVE-2026-70453) или исчерпанию лимита на число подключений (CVE-2026-70464).
- Уязвимость (CVE-2026-70452) в реализации блокировки хостов "hosts deny", приводившая к предоставлению доступа, если имя хоста не резолвится в DNS.
Изменения, нарушающие обратную совместимость:
- Символические ссылки вместо целевого каталога (например, если при запуске "rsync -a src/ /backup/" каталог /backup ссылается на /mnt/disk) теперь допускаются только если они принадлежат текущему пользователю или root.
- При включении режима "proxy protocol = true" соединения теперь принимаются только при наличии настройки "proxy protocol hosts", определяющей список допустимых прокси-серверов.
- На всех платформах унифицирована обработка символических ссылок на директории внутри копируемого дерева и задействован последовательный обход каталогов с использованием режима O_NOFOLLOW.
Источник: https://www.opennet.ru/opennews/art.shtml?num=66073




