CVE-2017-7494
Samba Samba
2023-03-30
Samba contains a remote code execution vulnerability, allowing a malicious client to upload a shared library to a writable share and then cause the server to load and execute it.
Технический анализ и план устранения
Суть уязвимости
CVE-2017-7494 (известная как SambaCry) — это критическая уязвимость удаленного выполнения кода (RCE) в Samba. Проблема заключается в недостаточной проверке путей при загрузке модулей расширения.
Злоумышленник, имеющий права на запись в общую сетевую папку (share), может загрузить туда специально подготовленную динамическую библиотеку (файл .so). После этого, используя именованный канал (named pipe), атакующий заставляет сервер загрузить и исполнить этот файл. Поскольку процесс smbd обычно работает с правами root, это приводит к полному захвату контроля над системой.
Как исправить
Основным способом устранения является обновление Samba до актуальных версий, в которых данная ошибка исправлена (4.6.4, 4.5.10 или 4.4.14 и выше).
Для систем на базе Debian/Ubuntu:
apt update && apt install --only-upgrade samba
Для систем на базе RHEL/CentOS:
yum update samba
После обновления необходимо перезапустить службы:
systemctl restart smbd nmbd
Если вы используете специфическую сборку, скачайте патчи с официального сайта Samba и пересоберите пакет.
Временные меры
Если немедленное обновление невозможно, необходимо применить обходное решение (workaround), которое блокирует возможность загрузки модулей через именованные каналы.
- Откройте конфигурационный файл Samba (обычно
/etc/samba/smb.conf). - В секции
[global]добавьте следующую строку:
nt pipe support = no
- Перезапустите демон Samba для применения изменений:
systemctl restart smbd
Внимание: Данная мера может нарушить работу некоторых функций Windows-клиентов (например, управление сервером через оснастки MMC или работу некоторых групповых политик), поэтому её следует рассматривать только как временную до момента установки патча.
Дополнительно рекомендуется:
- Ограничить права записи в сетевые папки для неавторизованных пользователей.
- Настроить монтирование разделов с общими папками с параметром noexec, чтобы предотвратить запуск бинарных файлов.