У разі використання цих недоліків зловмисники можуть отримати несанкціонований доступ до конфіденційної інформації або загалом спричинити проблеми
Кілька днів тому про це повідомила новина У Flatpak виявлено вразливість (система для створення, розповсюдження та запуску ізольованих середовищ настільних додатків у Linux). Каталогізовано під CVE-2024-32462, разом із класифікацією CWE-88 виявлено вразливість дозволено вихід із пісочниці через RequestBackground.
Ця вразливість впливає на певні версії Flatpak, і його вплив може бути серйозним, оскільки спеціально розроблена програма може виконувати довільний код за межами пісочниці, скомпрометувавши інформацію користувача.
Про вразливість CVE-2024-32462
Згадується, що вразливість дозволяє шкідливу або скомпрометовану програму розповсюджується у форматі пакету Flatpak обхідний режим ізоляції від зони тестування і отримати доступ до основних системних файлів. Ця проблема виникає лише в пакетах, які використовують портали Freedesktop (xdg-desktop-portal), які використовуються для полегшення доступу до ресурсів у середовищі користувача з ізольованих програм.
Можна передати довільний інтерфейс командного рядка до інтерфейсу порталу org.freedesktop.portal.Background.RequestBackground із програми Flatpak. Зазвичай це безпечно, оскільки ви можете вказати лише команду, яка існує в середовищі пісочниці; але коли створений об’єкт командного рядка перетворюється на –commandarguments і, програма може досягти того самого ефекту передавання аргументів безпосередньо до bwrapy, таким чином досягаючи вихід із пісочниці.
Рішення полягає в тому, щоб Flatpak використовував аргумент –to bwrap, який зупиняє параметри обробки, перш ніж додати команду, указану зловмисником. Аргумент – підтримується з bubblewrap 0.3.0, і всі підтримувані версії Flatpak вже потребують принаймні цієї версії bubblewrap.
Використання цієї вразливості дозволяє програмі в пісочниці використовувати інтерфейс xdg-desktop-portal щоб створити файл «.робочий стіл» за допомогою команди, яка запускає програму з Flatpak, таким чином дозволяючи доступ до файлів в основній системі.
Суть уразливості, що дозволяє уникнути пісочниці лежить аргумент – команда de біг з плоским пакетом, який очікував отримати команду для запуску у вказаній програмі Flatpak разом із деякими необов’язковими аргументами. Маніпулюючи параметром «– команда«, який використовується для передачі назви програми, можна було передати назву опції, як, наприклад – прив’язувати, і це було неправильно витлумачено як параметр bwrap для запуску вказаної програми в пакеті в ізольованому середовищі.
Практичний приклад цього згадується, щоб запустити утиліту ls в ізольованому середовищі пакета, ви використовуєте щось подібне до цього:
"flatpak run --command=ls org.gnome.gedit"
Який буде виконувати:
"bwrap ...lots of stuff... --bind / /host ls -l /host".
У цьому випадку ім’я «–bind» не вважатиметься назвою програми для запуску, а радше параметром bwrap.
Таким чином, уразливість полягає в тому, що якщо назва програми починається з символів «–», утиліта bwrap інтерпретує це як власну опцію. Спочатку надсилання команд таким чином не вважалося небезпечним, оскільки вони працюватимуть в ізольованому середовищі від пакета. Однак не було враховано, що команди, які починаються з «–», утилітою bwrap сприйматимуться як параметри. У результаті інтерфейс xdg-desktop-portal можна використати для створення файлу «.desktop» із командою, яка використовує цю вразливість.
Аргумент — підтримується з bubblewrap 0.3.0, і всі підтримувані версії Flatpak вже вимагають принаймні цієї версії bubblewrap. Згадується, що одне з рішень це версія 1.18.4 xdg-desktop-portal більше не дозволяє програмам Flatpak створювати нові файли .desktop для команд, які починаються з -.
Нарешті, варто згадати, що вразливість була виправлена в виправлених версіях Flatpak 1.15.8, 1.14.6, 1.12.9 і 1.10.9. Крім того, у версіях 1.16.1 і 1.18.4 для xdg-desktop-portal запропоновано виправлення безпеки.
Ви можете перевірити версію Flatpak, виконавши таку команду:
flatpak --version
Якщо у вас є вразлива версія або якщо ви хочете оновити свою версію Flatpak, просто виконайте одну з наступних команд:
Ubuntu/Debian і похідні:
sudo apt upgrade flatpak
RHEL/Fedora та похідні:
sudo dnf upgrade flatpak
Arch Linux та похідні:
sudo pacman -Syu flatpak
Якщо ви є цікаво дізнатися про це більше, Ви можете перевірити деталі У наступному посиланні.