I ricercatori di sicurezza hanno recentemente scoperto una vulnerabilità nel polkit di Linux systemd. Identificato come CVE-2021-3560, il difetto sembra essere in circolazione da almeno sette anni. Poiché polkit è utilizzato in molte distribuzioni Linux, l'impatto della vulnerabilità non deve essere sottovalutato.
Per fortuna, CVE-2021-3560 ora è stato corretto.
Correlata: CVE-2020-28588: Vulnerabilità alla divulgazione di informazioni nel kernel Linux
polkit Flaw esiste da sette anni
Sfortunatamente, poiché systemd utilizza polkit invece di sudo, la vulnerabilità potrebbe aver concesso agli utenti non autorizzati la possibilità di eseguire processi privilegiati. Tali processi privilegiati non potrebbero essere eseguiti in nessun altro modo. In altre parole, polkit potrebbe essere stato abusato per ottenere l'accesso root al vulnerabile sistema Linux.
Secondo l'advisory ufficiale di Red Hat, la vulnerabilità polkit si verifica a causa della seguente condizione:
Quando un processo di richiesta si disconnette da dbus-daemon appena prima che inizi la chiamata a polkit_system_bus_name_get_creds_sync, il processo non può ottenere un uid e un pid univoci del processo e non può verificare i privilegi del processo richiedente. La più grande minaccia di questa vulnerabilità è la riservatezza e l'integrità dei dati, nonché la disponibilità del sistema.
C'è qualche mitigazione contro il difetto di polkit?? I ricercatori di Red Hat affermano di aver studiato se esiste una mitigazione, ma non sono stati in grado di identificare un esempio pratico. Ciò significa che l'aggiornamento disponibile dovrebbe essere applicato immediatamente.
CVE-2021-3560 polkit Bug Sfondo
La vulnerabilità CVE-2021-3560 è stata scoperta dal ricercatore di sicurezza Kevin Blackhouse. "Poche settimane fa, Ho trovato una vulnerabilità di escalation dei privilegi in polkit. Ho coordinato la divulgazione della vulnerabilità con i manutentori di polkit e con il team di sicurezza di Red Hat. È stato divulgato pubblicamente, la correzione è stata rilasciata a giugno 3, 2021, ed è stato assegnato CVE-2021-3560", ha scritto in un articolo che descriveva in dettaglio la sua scoperta. Avverte anche che la vulnerabilità è facile da sfruttare.
Il bug scoperto da Blackhouse è stato introdotto sette anni fa in commit bfa5036, e prima spedito con la versione polkit 0.113. La buona notizia è che molte delle distribuzioni Linux più popolari non hanno spedito la versione vulnerabile fino a poco tempo fa, lui dice.
Tuttavia, l'impatto del bug polkit è molto più diverso per Debian e i suoi derivati, come Ubuntu. Il motivo? Debian utilizza un fork di polkit con uno schema di numerazione delle versioni diverso.
“Nel fork Debian, il bug è stato introdotto nel commit f81d021 e inizialmente distribuito con la versione 0.105-26. La versione stabile più recente di Debian, Debian 10 ("bustore"), usa la versione 0.105-25, il che significa che non è vulnerabile. Tuttavia, alcuni derivati Debian, come Ubuntu, sono basati su Debian unstable, che è vulnerabile,"dice il ricercatore.
Ecco un elenco di versioni vulnerabili, secondo Blackhouse:
- RHEL 8;
- Fedora 21 o più tardi;
- Test Debian "occhio di bue"';
- Ubuntu 20.04.
Il bug polkit è "sorprendentemente facile da sfruttare". Lo sfruttamento richiede alcuni comandi nel terminale utilizzando solo strumenti standard come bash, uccidere, e dbus-send. Poco detto, qualsiasi sistema con versione polkit 0.113 (o più tardi) installato è vulnerabile. Secondo Red Hat, “La più grande minaccia derivante da questa vulnerabilità è la riservatezza e l'integrità dei dati, nonché la disponibilità del sistema.” Così, patch il prima possibile.
Maggiori dettagli tecnici sono disponibili in Blog GitHub di Kevin Blackhouse.