Дослідники з компанії Aqua Security звернули увагу на можливість скоєння атаки на користувачів дистрибутива Ubuntu, використовуючи особливості реалізації обробника «command-not-found», що видає підказку у разі спроби запуску програми, яка відсутня в системі. Проблема в тому, що при оцінці команд, які відсутні в системі, «command-not-found» використовує при виборі рекомендації не тільки пакети зі штатних репозиторіїв, але і snap-пакети з каталогу snapcraft.io.
При формуванні рекомендації на основі вмісту каталогу snapcraft.io обробник "command-not-found" не враховує статус пакету та охоплює пакети, додані до каталогу неперевіреними користувачами. Таким чином, атакуючий може розмістити в snapcraft.io пакет із прихованим шкідливим вмістом та ім'ям, що перетинається з існуючими DEB-пакетами, спочатку відсутніми в репозиторії програмами або фіктивними програмами, імена яких відображають типові помилки та помилки користувачів при наборі імен популярних.
Наприклад, можна розмістити пакети tracert і tcpdamp з розрахунком, що користувач помилиться при наборі імен утиліт traceroute і tcpdump, і command-not-found порекомендує встановити з snapcraft.io розміщені зловмисником шкідливі пакет. Користувач може не помітити каверзу і порахувати, що система рекомендує тільки перевірені пакети. Атакуючий також може розмістити в snapcraft.io пакет, ім'я якого перетинається з існуючими deb-пакетами, і в цьому випадку "command-not-found" видасть дві рекомендації щодо встановлення deb і snap, а користувач може вибрати snap, вважаючи його більш захищеним або спокусившись новішою версією.
Програми у форматі snap, для яких у snapcraft.io допускається автоматичне рецензування, можуть виконуватися лише в ізольованому оточенні (snap-пакети без ізоляції публікуються лише після ручного рецензування). Атакуючий може виявитися достатнім виконання в ізольованому оточенні з доступом до мережі, наприклад, для майнінгу криптовалюти, здійснення DDoS-атак або розсилки спаму.
Зловмисник також може використовувати у шкідливих пакетах методи для обходу ізоляції, такі як експлуатація невиправлених уразливостей в ядрі та механізмах забезпечення ізоляції, задіяння snap-інтерфейсів для звернення до зовнішніх ресурсів (для прихованого запису звуку та відео) або захоплення введення з клавіатури при використанні протоколу (Для створення працюючих у sandbox-оточенні кейлоггерів).
Джерело: opennet.ru