Tramite questo post, Kevin Backhouse, ricercatore in ambito sicurezza presso il GitHub Security Lab, ha reso noto di aver trovato nel kernel Linux una vulnerabilità di escalation dei privilegi di root. L’exploit sfrutta un bug presente in polkit, un servizio di sistema di Systemd, installato di default su molte distribuzioni GNU/Linux.
Polkit, permessi di root con poche istruzioni
A causa di un bug, CVE-2021-3560, presente dalla versione 0.113 di Polkit, è possibile per un utente locale ottenere una shell di root, bypassando il sistema di autenticazione. L’elenco delle distribuzioni attualmente vulnerabili condivise da Backhouse include distribuzioni popolari come RHEL 8, Fedora 21 e successive, Ubuntu 20.04, nonché Debian testing bullseye e le sue derivate.
Sfruttare la vulnerabilità di polkit, inoltre, è sorprendentemente facile. Sarebbero infatti necessari solo pochi comandi del terminale utilizzando, inoltre, strumenti standard come bash, kill e dbus-send. Lo stesso Backhouse, a proposito, ha anche pubblicato la demo che vi ho riportato qui sopra.
Come funziona
In estrema sintesi, polkit si occupa di autorizzare o meno delle richieste di azioni che richiedono i privilegi di amministratore. In alcuni casi le autorizza in automatico, in altri lancia un dialog box dove inserire la password di amministratore.
Durante la comunicazione con il dbus-daemon, tuttavia, se la richiesta proviene da un processo non più in esecuzione, polkit non è in grado di gestire correttamente lo scenario. In questi casi, infatti, l’assegna erroneamente ad un processo con UID 0. Ciò comporta un’errata autorizzazione automatica, come se la richiesta provenisse da un processo root.
In queste situazioni, ovviamente, il consiglio è di tenere il vostro sistema aggiornato in modo da installare la patch non appena disponibile.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.