Локальные root-уязвимости в инструментарии управления пакетами Snap
Компания Qualys выявила две уязвимости ( CVE-2021-44731, CVE-2021-44730 ) в утилите snap-confine, поставляемой с флагом SUID root и вызываемой процессом snapd для формирования исполняемого окружения для приложений, распространяемых в самодостаточных пакетах в формате snap. Уязвимости позволяют локальному непривилегированному пользователю добиться выполнения кода с правами root в системе.
Первая уязвимость (CVE-2021-44730) позволяет совершить атаку через манипуляцию жёсткими ссылками, но требует отключения системной защиты жёстких ссылок. Проблема вызвана некорректной проверкой местоположения исполняемых файлов вспомогательных программ snap-update-ns и snap-discard-ns, запускаемых с правами root.
Вторая уязвимость вызвана состоянием гонки и может быть эксплуатирована в конфигурации Ubuntu Desktop по умолчанию. Для успешной работы эксплоита в Ubuntu Server требуется выбор при установке одного из пакетов из секции "Featured Server Snaps".
❗️Сформирован выпуск snapd 2.54.3, в котором кроме вышеупомянутых проблем устранена ещё одна уязвимость (CVE-2021-4120), позволяющая при установке специально оформленных snap-пакетов выполнить подстановку произвольных правил AppArmor и обойти выставленные для пакета ограничения доступа.