В инструментариях для управления самодостаточными пакетами snapd и flatpak выявлены похожие уязвимости (CVE-2019-7303, CVE-2019-10063), позволяющие на 64-разрядных системах обойти средства изоляции приложений и получить доступ к основной системе. При удачной атаке (эксплоит) злоумышленник может симулировать набор команд в активном терминале и выполнить произвольные команды вне изолированного окружения. Уязвимости устранены в выпусках snapd 2.37.4, flatpak 1.2.4 и flatpak 1.0.8.
Проблема вызвана некорректным устранением в 2017 году уязвимости CVE-2017-5226, для блокирования которой при помощи механизма seccomp было применено ограничение доступа изолированных приложений к системному вызову ioctl с флагом TIOCSTI. Оказалось, что для блокировки на 64-разрядных системах применялась 64-разрядная маска, в то время как в сравнении необходимо было учитывать только младшие 32 бита, так как аргумент TIOCSTI определён в ядре как 32-разрядный. Неправильная маска позволяла обойти ограничение на 64-разрядных системах и воспользоваться ioctl-интерфейсом TIOCSTI для помещения произвольных символов в буфер ввода терминала. Для обхода ограничения seccomp достаточно было при обращении к ioctl дополнительно выставить любой бит в старших 32 разрядах параметра TIOCSTI.
