Уязвимость вызвана тем, что в методе PanelLayouter::applyLayout() использовался фиксированный каталог «/tmp/layout» для сохранения tar-архива с настройками Xfce. Архив с настройками обрабатывался через вызов встроенного Python-скрипта, который в свою очередь вызывал скрипт «/usr/share/xfce4-panel-profiles/xfce4-panel-profiles/panelconfig.py» от проекта Xfce. В коде PanelLayouter::applyLayout() выполнялась проверка наличия каталога «/tmp/layout», но не учитывались коды ошибок, возвращаемые функциями удаления и копирования данных, что в случае размещения вместо каталога «/tmp/layout» файла с тем же именем приводило к продолжению выполнения функции, несмотря на возвращаемые ошибки. В итоге, атакующий получал возможность управлять данными, передаваемыми Python-скрипту.
Запускаемый скрипт panelconfig.py поддерживает не только изменение конфигурации Xfce, но и размещение файлов с ресурсами («*rc») в домашнем каталоге пользователя. Имея возможность подставить свои данные вместо исходного tar-архива, атакующий мог разместить в этом архиве дополнительные файлы и добиться их копирования в домашний каталог пользователя. Таким способом атакующий мог разместить свой файл «.bashrc» в домашнем каталоге пользователя, нажавшего в openSUSE-welcome кнопку настройки Xfce, и добиться выполнения своего кода.
Исправление доступно в виде патча, который уже включён в состав пакетов c openSUSE-welcome, предлагаемых в openSUSE Tumbleweed и openSUSE Leap 15.4 / 15.5.
Источник: http://www.opennet.ru/opennews/art.shtml?num=59651