В выпускаемых компанией Western Digital сетевых хранилищах My Cloud (https://www.wdc.com/products/network-attached-storage.html) обнаружены опасная уязвимость и бэкдор, позволяющие (http://gulftech.org/advisories/WDMyCloud%20Multiple...) получить привилегированный доступ к устройству. Уязвимость даёт возможность выполнить код с правами root через отправку удалённого запроса без выполнения штатной процедуры аутентификации. Бэкдор проявляется в наличии скрытой учётной записи администратора с предопределённым паролем, который невозможно изменить. Проблемы присутствуют в прошивках до версии 2.30.165 включительно (кроме ветки MyCloud 04.X) и устранены в обновлении 2.30.174.
Уязвимость присутствует в скрипте multi_uploadify.php и связана с некорректной обработкой параметров. Сервер для аутентификации в скрипте определялся путём использования имени хоста, переданного в HTTP-заголовке Host, который может быть изменён пользователем. В сочетании с отсутствием кода для обработки ошибок при вызове gethostbyaddr(), атакующий может успешно пройти все проверки аутентификации, не зная параметров входа. Атака сводится к отправке POST-запроса к скрипту с изменённым HTTP-заголовком Host и параметрами "Filedata[0]" и "folder" для загрузки файла. В том числе можно записать любой файл в каталог "/var/www/", например, загрузить PHP webshell, который при обращении будет выполнен с правами root.
Дальнейшее изучение прошивки показало, что для внешних запросов доступен скрипт /usr/local/modules/cgi/nas_sharing.cgi, в коде которого жесткой прошит логин "mydlinkBRionyg" и пароль "abc12345cba". Более того, скрипт содержит уязвимость, позволяющую передать и выполнить произвольный shell-код. Например, для запуска команды "touch /tmp/test.txt" от пользователя root достаточно отправить запрос "/cgi-bin/nas_sharing.cgi?dbg=1&cmd=51&user=mydlinkBRionyg&passwd=YWJjMT
IzNDVjYmE&start=1&count=1;touch+/tmp/test.txt;". В ходе изучения прошивки исследователь заметил упоминание несуществующего файла "mydlink.cgi", после чего выяснил, что прошивка устройств WDMyCloud во многом пересекается с прошивкой сетевого хранилища D-Link DNS-320L ShareCenter NAS, в которой аналогичных бэкдор был устранён в 2014 году в обновлении прошивки 1.0.6.
Кроме того, в WDMyCloud найдено несколько менее опасных уязвимостей. В частности скрипты в интерфейсе администратора подвержены возможности подстановки shell-кода, а web-интерфейс не имеет средств для защиты от XSRF-атак. Подобная особенность даёт возможность атакующему встроить запрос iframe или картинки со ссылкой подобной "http://wdmycloud/web/dsdk/DsdkProxy.php?;touch+/tmp/test.txt... и при помещении данной страницы пользователем, у которого не не закрыт сеанс в web-интерфейс WDMyCloud, на устройстве будет выполнена команда "touch /tmp/test.txt". Также имеется уязвимость в реализации API, позволяющая удалённо посмотреть список пользователей устройства через отправку запроса "/api/2.1/rest/users?".
URL: http://gulftech.org/advisories/WDMyCloud%20Multiple...
Новость: http://www.opennet.ru/opennews/art.shtml?num=47867