Опубликован релиз утилиты для синхронизации файлов Rsync 3.4.0, в котором устранено шесть уязвимостей. Комбинация уязвимостей CVE-2024-12084 и CVE-2024-12085 позволяет клиенту добиться выполнения своего кода на сервере. Для совершения атаки достаточно анонимного подключения к серверу Rsync с доступом на чтение. Например, атака может быть совершена на зеркала различных дистрибутивов и проектов, предоставляющих возможность загрузки сборок через Rsync. Проблема также затрагивает различные приложения для синхронизации файлов и резервного копирования, использующие Rsync в качестве бэкенда, такие как Rclone, DeltaCopy и ChronoSync.
Более того, эксплуатировав уязвимость на сервере атакующий может организовать атаку на подключающихся к серверу клиентов и добиться чтения или записи любых файлов в их системе, насколько это позволяют права доступа процесса rsync. Например, через создание вредоносных rsynс-серверов можно организовать загрузку SSH-ключей или добиться выполнения кода, перезаписав такие файлы, как ~/.bashrc и ~/.popt.
Для упрощения проверки обновления серверов до новой версии Rsync номер протокола в выпуске Rsync 3.4.0 повышен до 32. Проследить за появлением обновлений в дистрибутивах можно на следующих страницах: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.
Выявленные уязвимости:
- CVE-2024-12084 – запись за пределы выделенного буфера через передачу некорректной контрольной суммы, размер которой превышает 16 байт.
- CVE-2024-12085 – утечка содержимого неинициализированных данных из стека (по одному байту за раз) при выполнении операций сравнения контрольных сумм некорректного размера.
- CVE-2024-12086 – получение доступа к содержимому произвольных файлов из системы клиента через генерацию сервером некорректных коммуникационных токенов и контрольных сумм в процессе копирования файлов от клиента на сервер (определение содержимого байт за байтом через подбор контрольной суммы).
- CVE-2024-12087 – выход за пределы базового каталога при использовании опции “–inc-recursive” (включается по умолчанию для многих флагов). Уязвимость вызвана отсутствуем должной проверки символических ссылок и позволяет записать файлы за пределами указанного клиентом целевого каталога. Подконтрольный атакующим сервер может использовать уязвимость для атаки на систему подключившегося клиента.
- CVE-2024-12088 – некорректная проверка символических ссылок, указывающих на другие символические ссылки, при использовании опции “–safe-links”, позволяющая выйти за пределы базового каталога и записать данные в любой файл в системе, насколько это позволяют права доступа.
- CVE-2024-12747 – состояние гонки при работе с символическими ссылками, позволяющее пользователю повысить свои привилегии в системе через получение доступа к привилегированным файлам на сервере.