Alcune tra le principali distribuzioni Linux integrano un componente di sistema chiamato polkit (PolicyKit) che si occupa della comunicazione tra processi sprovvisti di privilegi di root e quelli che invece dispongono di tali privilegi.
Ogniqualvolta il sistema operativo chiede di confermare la password associata all’utente root, ad esempio attraverso la visualizzazione di un’apposita schermata, ad essere chiamato in causa è proprio polkit.
La comparsa della finestra di dialogo in Linux può dare l’impressione che polkit sia un componente correlato all’interfaccia grafica. In realtà si tratta di un oggetto che lavora in background e che sovrintende il meccanismo di autenticazione.
Un componente come polkit è presente in tante distribuzioni Linux ormai da 7 anni ma soltanto di recente il ricercatore Kevin Backhouse (GitHub Security Lab) ha individuato un grave problema di sicurezza che permette di acquisire i permessi root senza averne alcun diritto.
Sfruttare la vulnerabilità è sorprendentemente facile in quanto ci vogliono solo pochi comandi da terminale e strumenti standard come i comandi bash, kill e dbus-send. Una dimostrazione pratica è contenuta in questo video pubblicato su YouTube da Backhouse.
Secondo il ricercatore a essere vulnerabili sono tante distribuzioni Linux: Red Hat Enterprise Linux 8, Fedora 21 e successive, Ubuntu 20.04, la versione non definitiva di Debian Bullseye e sue derivate.
Il problema di sicurezza in polkit è stato risolto lo scorso 3 giugno e da allora è cominciata la distribuzione degli aggiornamenti correttivi.
Per mettersi al riparo da qualunque rischio gli utenti, soprattutto coloro che amministrano sistemi server, sono invitati ad aggiornare le distribuzioni Linux installate.
Maggiori dettagli sulla falla di sicurezza sono pubblicati in questa pagina.
A marzo scorso fu individuato un altro grave problema di sicurezza nel sottosistema iSCSI che interessava tutte le distribuzioni Linux. Anche in quel caso il bug avrebbe potuto essere utilizzato per ottenere i privilegi root. Per fortuna il componente problematico non viene caricato di default a livello kernel ma un aggressore avrebbe potuto farlo in modo manuale.