Badacze z firmy Aqua Security zwrócili uwagę na możliwość przeprowadzenia ataku na użytkowników dystrybucji Ubuntu, wykorzystując specyfikę działania obsługi «command-not-found», która podpowiada w przypadku próby uruchomienia programu, który nie jest obecny w systemie. Problem w tym, że przy ocenie uruchamianych komend, które nie istnieją w systemie, «command-not-found» bierze pod uwagę nie tylko pakiety z oficjalnych repozytoriów, ale także pakiety snap z katalogu snapcraft.io.
Tworząc rekomendację na podstawie zawartości katalogu snapcraft.io, obsługa «command-not-found» nie uwzględnia statusu pakietu i obejmuje pakiety dodane do katalogu przez niezweryfikowanych użytkowników. W ten sposób atakujący może umieścić w snapcraft.io pakiet z ukrytym złośliwym zawartością oraz nazwą, która pokrywa się z istniejącymi pakietami DEB, programami, które pierwotnie nie były obecne w repozytorium lub fikcyjnymi aplikacjami, których nazwy odzwierciedlają typowe literówki i błędy użytkowników podczas wpisywania nazw popularnych narzędzi.
Na przykład, można umieścić pakiety «tracert» i «tcpdamp», licząc na to, że użytkownik pomyli się podczas wpisywania nazw narzędzi «traceroute» i «tcpdump», a «command-not-found» zasugeruje zainstalowanie z snapcraft.io złośliwych pakietów umieszczonych przez atakującego. Użytkownik może nie zauważyć podstępu i uważać, że system poleca tylko zweryfikowane pakiety. Atakujący może również umieścić w snapcraft.io pakiet, którego nazwa pokrywa się z istniejącymi pakietami deb, a w tym przypadku «command-not-found» wyda dwie rekomendacje dotyczące instalacji deb i snap, a użytkownik może wybrać snap, uznając go za bardziej zabezpieczony lub kusząc się na nowszą wersję.

Aplikacje w formacie snap, dla których w snapcraft.io dozwolone jest automatyczne recenzowanie, mogą działać tylko w izolowanym środowisku (pakiety snap bez izolacji są publikowane tylko po ręcznym przeglądzie). Atakującemu może wystarczyć działanie w izolowanym środowisku z dostępem do sieci, na przykład w celu wydobywania kryptowalut, przeprowadzania ataków DDoS lub rozsyłania spamu.
Napastnik może również wykorzystać w złośliwych pakietach metody omijania izolacji, takie jak eksploatacja niepoprawionych luk w jądrze oraz mechanizmach zapewnienia izolacji, angażowanie interfejsów snap do uzyskiwania dostępu do zewnętrznych zasobów (do ukrytego nagrywania dźwięku i wideo) lub przechwytywanie wejścia z klawiatury przy użyciu protokołu X11 (do tworzenia keyloggerów działających w środowisku sandbox).
Źródło: opennet.ru
