Перейти к содержимому

Уязвимости в 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, проверить системы на наличие уязвимостей и реализовать вышеуказанные меры защиты.

🔐 Берегите свою кибербезопасность и защищайте свои системы!