I ricercatori di Aqua Security hanno notato una vulnerabilità che consente di attaccare gli utenti della distribuzione Ubuntu, sfruttando il comportamento del gestore "command-not-found", che fornisce suggerimenti quando si tenta di avviare un programma non presente nel sistema. Il problema è che, nel valutare i comandi da eseguire che non sono presenti, "command-not-found" utilizza non solo i pacchetti dei repository ufficiali ma anche i pacchetti snap dal catalogo snapcraft.io.
Quando genera suggerimenti basati sul contenuto del catalogo snapcraft.io, il gestore "command-not-found" non verifica lo stato del pacchetto e include pacchetti che sono stati aggiunti al catalogo da utenti non verificati. In questo modo, un aggressore può caricare su snapcraft.io un pacchetto con contenuti dannosi nascosti e con un nome che coincide con i DEB-pacchetti esistenti, programmi inizialmente assenti nel repository, o applicazioni fittizie i cui nomi riflettono errori tipici di battitura degli utenti durante l'inserimento di nomi di utility popolari.
Ad esempio, è possibile caricare pacchetti come «tracert» e «tcpdamp» sperando che l'utente sbagli a digitare i nomi delle utility «traceroute» e «tcpdump», e che «command-not-found» suggerisca di installare i pacchetti malevoli ospitati su snapcraft.io da un aggressore. L'utente potrebbe non accorgersi dell'inganno e pensare che il sistema raccomandi solo pacchetti verificati. L'attaccante potrebbe anche caricare su snapcraft.io un pacchetto il cui nome si sovrappone a quello di pacchetti deb esistenti, e in questo caso «command-not-found» fornirebbe due raccomandazioni per l'installazione di deb e snap, e l'utente potrebbe scegliere snap, pensando che sia più sicuro o attirato dalla versione più recente.

Le applicazioni in formato snap, per le quali su snapcraft.io è consentita la revisione automatica, possono essere eseguite solo in un ambiente isolato (i pacchetti snap senza isolamento vengono pubblicati solo dopo una revisione manuale). Per un attaccante potrebbe essere sufficiente operare in un ambiente isolato con accesso alla rete, ad esempio, per il mining di criptovalute, per effettuare attacchi DDoS o per inviare spam.
Un malintenzionato può utilizzare tecniche per bypassare l'isolamento anche in pacchetti dannosi, come l'exploitation di vulnerabilità non corrette nel kernel e nei meccanismi di isolamento, sfruttando interfacce snap per accedere a risorse esterne (per la registrazione occultata di audio e video) o catturando l'input da tastiera tramite il protocollo X11 (per creare keylogger operanti in ambienti sandbox).
Fonte: opennet.ru
