Администрация проекта KDE предупредила пользователей о возможной проблеме безопасности данных после установки неофициальных глобальных тем оформления и виджетов к KDE из каталога KDE Store. Это произошло после инцидента с удалением всех личных файлов у одного пользователя, установившего тему оформления Grey Layout из каталога KDE Store. Эта тема насчитывала около 4000 загрузок и сейчас удалена из каталога.
Согласно анализу исследователей, проблемный код в тему была включён не по злому умыслу, а по ошибке, связанной с небезопасным использованием команды rm -rf.
По данным OpenNET, в глобальных темах оформления KDE предусмотрена возможность использования плазмоидов Plasma, запускающих произвольные команды, которые среди прочего могут использоваться для удаления файлов. При использовании в коде конструкций вида "rm -rf $ VAR/* ", может возникнуть ситуация, когда переменная $ VAR оказывается неинициализированной, что приведёт к фактическому выполнению команды "rm -rf /* ". Ранее похожие ошибки всплывали в скриптах инициализации Squid, Steam и bumblebee.
Произошедший инцидент связывается с вызовом кода из виджета PlasmaConfSaver, в котором имеется скрипт save.sh, выполняющий удаление старых файлов конфигурации, оставшихся после прошлой установки.
Файлы удаляются командой "rm - Rf $ configFolder", при том, что в коде отсутствует проверка установки переменной $ configFolder, значение которой передаётся через аргумент командной строки (configFolder=$2). Изначально код был рассчитан на использование в KDE 5, но из-за изменений в KDE 6 логика вызова обработчиков могла быть нарушена и в переменной оказалось значение, приводящее к удалению всех данных пользователя (например, вместо запуска "sh save. sh somepath/ ..." мог быть выполнен код "sh save. sh somepath / ...", в результате чего в переменной configFolder оказалось значение "/").
Разработчики KDE объявили о проведении аудита сторонних тем оформления, размещённых в каталоге KDE Store, для выявления похожих ошибок, а также организовать вывод предупреждений при установке тем, размещённых сторонними пользователями.
Дополнительно сообществом обсуждается вопрос введения предварительной проверки проектов, размещаемых в KDE Store, с целью противостояния целевому размещению злоумышленниками тем оформления, нацеленных на выполнение вредоносных действий, таких как кража конфиденциальных данных и запуск процессов для подмены номеров криптокошельков в буфере обмена.
Как правило, многие пользователи не предполагают, что при установке темы оформления может выполняться код, поэтому не уделяют должного внимания безопасности при установке тем. Глобальные темы оформления не только влияют на внешний вид, но и изменяют поведение Plasma и могут включать в состав собственные реализации блокировщиков экрана и апплетов, т.е. компоненты, выполняющие код. Из-за отсутствия ресурсов размещаемые в каталоге KDE Store проекты никак не проверяются и размещаются исключительно на основе доверия, при том, что в каталоге может зарегистрироваться любой желающий.
Источник новости: habr.com