Опубліковано інформацію про вразливість в операційній системі Qubes, яка використовує гіпервізор для суворої ізоляції додатків та компонентів ОС (кожен клас додатків та системні сервіси працюють в окремих віртуальних машинах). Якщо атакуючий скомпрометує одну з віртуальних машин, вразливість дозволяє обійти ізоляцію, домогтися виконання довільних команд на боці хостового оточення (Dom0) та отримати контроль над усією операційною системою. Проблема проявляється при використанні користувачем утиліти «qvm-copy-to-vm» для копіювання файлу з хостового оточення в підконтрольну віртуальну машину, що атакує. Уразливість усунена в оновленні пакету qubes-core-dom0-linux 4.3.22.
Проблема присутня в утиліті «qvm-copy-to-vm» і спричинена неналежною обробкою помилок, що повертаються при зверненні до віртуальній машині. Суть уразливості в тому, що утиліта qvm-copy-to-vm для відображення інформації про помилку запускала програми kdialog або zenity, використовуючи функцію system() і підставляючи відомості про невдало скопійований файл серед опцій у командному рядку. При цьому чистка імені файлу обмежувалася вирізанням не-ASCII-символів та подвійних лапок без перевірки наявності спецсимволів, що інтерпретуються командною оболонкою, таких як "`" і "$".
Після завершення копіювання файлів з хостової системи обробник на стороні віртуальної машини передає підтвердження операції, в якому серед іншого вказується ім'я останнього отриманого файлу. Атака зводиться до повернення коду помилки замість підтвердження та вказівки для файлу, який не вдалося скопіювати, імені з спецсимволами, що обробляються командним інтерпретатором. Після отримання помилки обробник на стороні хостового оточення запустить командою system() утиліту для показу діалогу з текстом помилки, передавши в командному рядку повернення ім'я файлу (наприклад, при вказівці «file`id`» на стороні хостового оточення буде запущена команда id).
Джерело: opennet.ru
