Проблемы с изоляцией в Ubuntu Snap при работе в окружении X11
Мэттью Гаррет продемонстрировал наличие в Ubuntu Snap проблем, сводящих на нет основные достоинства технологии, связанные с изоляцией приложений от остальной системы. Мэттью удалось создать snap-пакет, который при установке в полностью обновленном окружении Ubuntu 16.04 LTS позволяет перехватить ввод других X11-программ, запущенных в основной системе или других snap-окружениях.
Кроме того, вредоносное snap-приложение имеет возможность осуществить подстановку своего ввода и выполнить действия вне изолированного окружения, например, выдав горячую клавишу открытия терминала и передав в него любые команды. Например, в терминал может быть подставлен вызов утилиты curl для отправки ssh-ключей пользователя на внешний сервер.
Следует отметить, что проблема не специфична для системы Snap и проявляется в любых других изолированных окружениях, использующих протокол X11. Из-за особенностей протокола X11 любое приложение может получить доступ ко всем событиям ввода и осуществить подстановку фиктивных нажатий клавиш, что позволяет без выхода из изолированного окружения передать любые клавиатурные комбинации в активные окна других приложений. При работе snap-пакетов в окружениях Wayland и Mir проблема отсутствует. Именно по этой причине система изоляции настольных приложений xdg-app обязательно требует использования Wayland для своей работы.