Оценка влияния на безопасность плагинов к текстовым редакторам
Как сообщает opennet.ru исследователи из компании SafeBreach представили спорный метод атаки, позволяющий атакующему поднять привилегии в системе, в случае если он получил возможность изменения файлов в каталоге пользователя, имеющего право на выполнение привилегированных операций через sudo. Метод атаки основан на том, что текстовые редакторы автоматически подключают плагины, не только централизованно установленные в системе, но и те, что размещены в домашнем каталоге пользователя.
Проанализировав обработку плагинов в Vim, Emacs, Sublime, Gedit и pico/nano, исследователи пришли к выводу, что все они могут быть использованы для атаки. Суть атаки сводится к размещению в каталоге пользователя, имеющего право на выполнение привилегированных операций через sudo, вредоносного плагина (например, в ~/.vim/plugin/, ~/.config/sublime-text-3/Packages/User, ~/.emacs.d/init.el или ~/.local/share/gedit/plugins), который будет выполнен когда текстовый редактор будет запущен с повышенными привилегиями при помощи утилиты sudo (например, "sudo vim"). Для блокирования проблемы исследователи рекомендуют раздельно обрабатывать запуск с повышенными привилегиями и не загружать плагины, которые принадлежат непривилегированному пользователю, не совпадающему с владельцем текущего процесса.
Разработчики vim, emacs и gedit не стали рассматривать указанное поведение как уязвимость, так как если атакующий уже смог загрузить свой файл в каталог пользователя, имеющего возможность выполнить sudo, то атака может считаться успешно совершенной и усложнения с запуском текстовых редакторов для повышения привилегий излишни. Кроме того, проблема с плагинами возникает из-за некорректной конфигурации sudo, не меняющего переменную $HOME после смены пользователя.