Diverse vulnerabilità trovate nel gestore di tasti di scelta rapida di Wayland

Qualche giorno fa è uscita la notizia che sono state rilevate numerose vulnerabilità in swhkd (Simple Wayland HotKey Daemon) causato da una gestione errata di file temporanei, opzioni della riga di comando e socket unix.

Il programma è scritto in Rust e gestisce i tasti di scelta rapida in ambienti basati sul protocollo Wayland (un analogo compatibile con i file di configurazione del processo sxhkd utilizzato negli ambienti basati su X11). Il pacchetto include un processo swhks senza privilegi che esegue azioni per i tasti di scelta rapida e un processo in background swhkd che viene eseguito come root e interagisce con i dispositivi di input a livello di API uinput. Per organizzare l'interazione tra swhks e swhkd, viene utilizzato un socket Unix.

Le regole di Polkit consentono a qualsiasi utente locale di eseguire il processo /usr/bin/swhkd come root e di passargli parametri arbitrari.

L'integrazione del pacchetto RPM inviato per openSUSE Tumbleweed conteneva regole Polkit insolite nel file file di definizione che ha richiesto una revisione da parte del team di sicurezza di SUSE.

Come risultato della revisione, sono stati identificati molteplici problemi di sicurezza. I singoli problemi sono descritti nel rapporto dettagliato di seguito.

Del vulnerabilità individuate, vengono citati:

CVE-2022-27815

Questa vulnerabilità permette di salvare un PID di processo in un file con un nome prevedibile e in una directory scrivibile per altri utenti (/tmp/swhkd.pid), per cui qualsiasi utente può creare un file /tmp/swhkd.pid e inserirvi il pid di un processo esistente, il che renderà impossibile avviare swhkd.

In assenza di protezione contro la creazione di collegamenti simbolici in /tmp, la vulnerabilità può essere utilizzata per creare o sovrascrivere file in qualsiasi directory del sistema (il PID viene scritto nel file) o determina il contenuto di qualsiasi file nel sistema (swhkd invia l'intero contenuto del file PID a stdout). Va notato che nella correzione rilasciata, il file PID non è stato spostato nella directory /run, ma nella directory /etc (/etc/swhkd/runtime/swhkd_{uid}.pid), a cui non appartiene neanche .

CVE-2022-27814

Questa vulnerabilità consente di manipolare l'opzione della riga di comando "-c" per specificare un file di configurazione può determinare l'esistenza di qualsiasi file nel sistema.

Come nel caso della prima vulnerabilità, risolvere il problema è sconcertante: la risoluzione del problema si riduce al fatto che l'utilità "cat" esterna ('Command::new("/bin/cat").arg(path) è ora lanciato per leggere il file di configurazione.output()').

CVE-2022-27819

Questo problema è anche correlato all'uso dell'opzione "-c"., che carica e analizza l'intero file di configurazione senza controllare la dimensione e il tipo del file.

Ad esempio, per causare un Denial of Service dovuto all'esaurimento della memoria libera e alla creazione di I/O vaganti, è possibile specificare un dispositivo a blocchi all'avvio ("pkexec /usr/bin/swhkd -d -c /dev/sda ») o un dispositivo di caratteri che emette un flusso infinito di dati.

Il problema è stato risolto reimpostando i privilegi prima di aprire il file, ma la soluzione non è stata completa poiché viene reimpostato solo l'ID utente (UID), ma l'ID gruppo (GID) rimane lo stesso.

CVE-2022-27818

Questa vulnerabilità ti permette di usare un file /tmp/swhkd.sock per creare un socket Unix, che viene creato in una directory scrivibile pubblica, causando problemi simili alla prima vulnerabilità (qualsiasi utente può creare /tmp/swhkd.sock e generare o intercettare eventi keypress).

CVE-2022-27817

In questa vulnerabilità, gli eventi di input vengono ricevuti da tutti i dispositivi e in tutte le sessioni, ovvero un utente in un altro Wayland o in una sessione della console può intercettare gli eventi quando altri utenti premono i tasti di scelta rapida.

CVE-2022-27816

Il processo swhks, come swhkd, utilizza il file PID /tmp/swhks.pid nella directory /tmp scrivibile pubblicamente. Il problema è simile alla prima vulnerabilità, ma non così pericoloso, poiché swhks viene eseguito con un utente non privilegiato.

Infine, se sei interessato a saperne di più, puoi consultare il dettagli nel seguente link.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.