
Уязвимости в Rsync: миллионы серверов под угрозой!
В настоящее время выявлены несколько серьезных уязвимостей в широко используемом инструменте Rsync для синхронизации серверов и данных. Эти уязвимости позволяют злоумышленникам удаленно выполнять вредоносный код, похищать конфиденциальную информацию и обходить критически важные механизмы безопасности.
Затронутые версии:
Все версии Rsync 3.2.7 и более ранние.
Потенциальные угрозы:
🔴 Удаленное выполнение кода (RCE – Remote Code Execution)
🔴 Кража конфиденциальных данных
🔴 Обход механизмов безопасности
Основные уязвимости
1. Повреждение памяти при обработке контрольных сумм (CVE-2024-12084)
Эта уязвимость возникает из-за некорректного управления памятью при обработке контрольных сумм. В модуле sender.c
Rsync выделяет недостаточное количество памяти для обработки частей файла, что позволяет злоумышленникам выходить за пределы выделенного буфера и записывать дополнительные данные.
🔹 Например, при использовании алгоритмов SHA-256 (32 байта) и SHA-512 (64 байта) максимальный объем выделенной памяти составляет всего 16 байт, однако злоумышленники могут записать до 48 дополнительных байтов за пределами выделенной области памяти.
⚠️ Последствия: Переполнение кучи (Heap Buffer Overflow) с возможностью управления критическими данными в памяти.
2. Обход ASLR-защиты (CVE-2024-12085)
Эта уязвимость позволяет атакующим раскрывать данные стека и обходить защиту ASLR (Address Space Layout Randomization). Злоумышленники могут использовать ошибки управления стеком в функции hash_search
, чтобы анализировать содержимое памяти.
⚠️ Последствия: Обход ASLR и получение критически важных адресов памяти для выполнения RCE-атак.
3. Кража файлов на стороне клиента (CVE-2024-12086)
Злоумышленники могут использовать уязвимость на стороне сервера для считывания файлов клиента, обходя защиту пути к файлу. Используя специально сформированные параметры fnamecmp_type
и xname
, они могут заставить клиент открыть указанный файл и отправить его контрольную сумму, что позволяет восстановить содержимое файла побайтово.
⚠️ Последствия: Похищение конфиденциальных файлов удаленным сервером.
4. Атаки через символические ссылки (CVE-2024-12087/12088)
Хотя Rsync защищает файлы с помощью параметра –safe-links
, злоумышленники могут обойти этот механизм, используя метод многоступенчатого отравления каталогов (Multi-Stage Directory Poisoning).
📌 Как работает атака:
1️⃣ Атакующий создает каталог ./symlink
и отправляет его в список файлов.
2️⃣ Затем он заменяет этот каталог на символическую ссылку.
3️⃣ Используя подмененные пути, злоумышленник получает доступ к защищенным файлам.
⚠️ Последствия: Обход защиты и несанкционированный доступ к критически важным файлам на сервере.
Соединение двух уязвимостей позволяет создать полноценную цепочку эксплуатации, включающую:
✅ Раскрытие памяти для обхода ASLR
✅ Точечную атаку Heap Overflow
✅ Подмену указателей функций для выполнения вредоносного кода
Исследователи успешно продемонстрировали эксплуатацию этой уязвимости на Debian 12 с Rsync 3.2.7 в конфигурации daemon mode.
Особенно тревожным является то, что для запуска атаки достаточно анонимного доступа на чтение.
💡 Все пользователи должны немедленно обновиться до Rsync 3.4.0, который включает исправления:
✅ Строгая проверка границ буфера контрольных сумм
✅ Инициализация буфера стека в хеш-функциях
✅ Улучшенная проверка символических ссылок
✅ Усиленная фильтрация путей файлов
🔹 Администраторам необходимо предпринять дополнительные меры:
🔸 Проверьте конфигурацию Rsync и отключите анонимный доступ, если это возможно.
🔸 Активируйте –safe-links
и используйте munge-symlinks
.
🔸 Клиенты должны подключаться только к доверенным серверам.
🔸 Настройте брандмауэр (firewall) для блокировки неизвестных IP-адресов.
Так как Rsync широко используется в корпоративных системах резервного копирования и процессах CI/CD, эти новые уязвимости ставят миллионы серверов под угрозу.
⚠️ Рекомендация:
Администраторам и разработчикам следует незамедлительно обновить Rsync до версии 3.4.0, проверить системы на наличие уязвимостей и реализовать вышеуказанные меры защиты.
🔐 Берегите свою кибербезопасность и защищайте свои системы!