Вы здесь

Уязвимость Ubuntu может привести к установке скомпрометированных Snap-пакетов

Опубликовано: ср, 14/02/2024 - 23:54
уязвимость command-not-found

Эксперты по кибербезопасности из Aqua Security обнаружили потенциальную уязвимость в Ubuntu, связанную с механизмом работы утилиты "command-not-found". Использование уязвимости может привести к установке зараженного программного обеспечения.

Инструмент "command-not-found" входит в стандартную поставку Ubuntu и предлагает установить пользователю нужные программы, когда тот пытается запустить софт, отсутствующий в системе. Выглядит это примерно следующим образом:

предложение установить недостающие программы

Причем в качестве источника ПО может быть как репозиторий APT, так и Snap. Для поиска соответствий программ APT используется внутренняя база данных (/var/lib/command-not-found/commands.db), а для соответствий Snap поиск полагается на команду advise-snap.

Исследователи из Aqua Security внимательно изучили принцип работы и пришли к выводу, что можно обмануть этот механизм, используя систему псевдонимов (алиасов). Для поиска Snap механизм полагается на соответствие команды и имени пакета. В результате злоумышленник может зарегистрировать любое имя для своего пакета, указав нужный алиас. Когда пользователь попытается запустить команду, которая связана с этим алиасом, утилита предложит ему установить вредоносный (поддельный) пакет.

Но это еще не все! Злоумышленник может зарегистрировать Snap-пакет с именем, которое совпадает с уже существующим пакетом APT. В таком случае "command-not-found" будет предлагать такой поддельный Snap совместно с оригинальным APT-пакетом.

В качестве доказательства исследователи создали "пустой" Snap с именем jupyter-notebook, которое совпадает с именем реально существующего APT-пакета. В результате скомпроментированный Snap предлагался даже выше, чем оригинальный APT:

поддельный и настоящий jupyter-notebook

По информации экспертов, около 26% APT-пакетов уязвимы для подобной подмены. Также они заостряют внимание, что злоумышленники могут также воспользоваться частыми опечатками пользователей, если зарегистрируют поддельный пакет с таким именем (к примеру, ifconfigg вместо ifconfig):

поддельный ifconfigg

Эксперты Aqua Security отмечают, что механизм "command-not-found" требует кардинальной переработки, так как эти проблемы - системные. Пользователям они рекомендуют внимательно проверять источник предлагаемого для установки ПО перед тем, как устанавливать его. Ну а рекомендация для разработчиков APT-пакетов - это, конечно же, резервировать соответствующие Snap-имена, чтобы предотвратить подмену.

На данный момент остается неизвестно, насколько часто эта уязвимость эксплуатировалась (и эксплуатировалась ли вообще). Сотрудники Canonical планируют исправить ее в самое ближайшее время.


Теги:

Добавить комментарий