Уязвимость в Samba
В серверной части популярного пакета ПО Samba найдена "дыра", просуществовавшая в нем около семь лет. Уязвимость, получившая название CVE-2017-7494, впервые появилась в версии 3.5.0, выпущенной в марте 2010 г. С тех пор она присутствовала в каждой версии пакета, включая недавнюю 4.6.4.
Исследователям из компании Rapid7 удалось обнаружить более 104 тыс. устройств, подключенных к интернету и использующих в настоящее время уязвимые версии Samba. В недавно выпущенных обновлениях Samba 4.6.4, 4.5.10 и 4.4.14 уязвимость была ликвидирована. Кроме того, разработчики из сообщества Samba Project создали патчи для старых версий пакета. Однако Rapid7 отмечает, что для 90% из обнаруженных устройств прямые патчи до сих пор не выпущены.
Основная проблема при ликвидации уязвимости заключается в том, что пользователь может не знать, что на его устройстве работает Samba, пишет ресурс ZDNet.
Samba — это пакет свободного ПО, через который различные ОС связываются с сетевыми дисками и принтерами по протоколу SMB/CIFS. Пакет поддерживает все версии Windows и присутствует почти во всех дистрибутивах Linux. Если устройство пользователя подключено к сетевому хранилищу NAS, где он держит какую-либо информацию, высока вероятность, что доступ к этому хранилищу обеспечивает именно Samba.
Механизм атаки
Уязвимость дает злоумышленнику возможность загрузить через клиентскую часть Samba на доступный для записи диск совместно используемую библиотеку, а потом инициировать ее выполнение на сервере, в результате чего выполняется и вредоносный код — любой, который загрузит хакер.
Исследователь безопасности Эйч Ди Мур (HD Moore) из компании Atredis Partners сообщает, что через модуль Metasploit уязвимость запускается одной строкой: simple.create_pipe("/path/to/target.so"). Для эксплуатации бага не обязательны какие либо хакерские навыки.
Способы самозащиты
Samba Project рекомендует всем пользователям пакета незамедлительно обновить его до последних версий. Тем пользователям, которые по каким-либо причинам пока не могут установить патч или обновить Samba, предлагается временное решение проблемы: прописать параметр nt pipe support = no в секцию [global] файла smb.conf и перезапустить smbd. Это лишит клиенты доступа к конечным устройствам именованных каналов.
Однако в то же время подобная мера может повлиять на то, как клиенты Windows получают доступ к файлам и папкам на совместно используемом диске. Как именно повлиять — трудно спрогнозировать. Это соображение может удержать пользователя от борьбы с багом. В таком случае рекомендуется полностью запретить другим пользователям запись на диск и заблокировать фаерволлом порт 445, через который они могут посещать хранилище Samba.