Acum cateva zile Au fost publicate informații despre o nouă vulnerabilitate critică care afectează mediile Linux numite „Pack2TheRoot”. Catalogat sub CVE-2026-41651Această problemă afectează PackageKit (un instrument care acționează ca un strat de abstractizare D-Bus pentru a unifica gestionarea pachetelor în mai multe distribuții)
Se menționează că hotărârea Permite oricărui utilizator local fără privilegii să instaleze sau să elimine pachete în mod arbitrar. Prin exploatarea acestei vulnerabilități, un atacator poate obține acces root complet la sistemul compromis. Impactul este considerabil, având în vedere că problema este prezentă încă de la versiunea 1.0.2, lansată acum mai bine de doisprezece ani (în 2014) și afectează configurațiile implicite ale distribuțiilor populare precum Ubuntu, Debian, Rocky Linux și Fedora.
Pack2TheRoot: Vulnerabilitatea PackageKit acordă acces de administrator pe Linux
El Descoperirea Pack2TheRoot a fost rezultatul unei investigații condusă de Echipa Roșie a Deutsche Telekom, care Au folosit modelul de inteligență artificială al lui Claude Opus pentru a ghida analiza lor a vectorilor locali de escaladare a privilegiilor.
LoCercetătorii au observat inițial că comanda de instalare pkcon putea fi executată fără a fi necesară o parolă.în anumite configurații Fedora, ceea ce a ridicat suspiciuni cu privire la autorizarea subiacentă. După confirmarea și raportarea responsabilă a vulnerabilității către administratorii PackageKit, A fost dezvoltat un exploit funcțional, deși publicarea sa detaliată a fost strategic amânată pentru a permite utilizatorilor și administratorilor să aplice actualizările necesare.
Mecanica atacului
Rădăcina lui Vulnerabilitatea constă într-o condiție profesională (Tip TOCTOU: De la Ora-verificării la Ora-utilizării) în gestionarea tranzacțiilor de proces în fundal (daemon) al PackageKitPackageKit, operând ca utilizator root, deleagă autorizarea sistemului polkit. Când un client solicită instalarea unui pachet, de exemplu folosind metoda InstallFiles, acesta transmite un set de semnalizatoare care dictează comportamentul tranzacției.
Anumite steaguri, cum ar fi SIMULATE sau ONLY_DOWNLOAD, instruiesc PackageKit să ignore autorizarea polkit. deoarece reprezintă operațiuni sigure care, în teorie, nu modifică starea sistemului. Eroarea este declanșată deoarece handler-ul de tranzacții suprascrie Acești indicatori sunt memorați necondiționat în cache la fiecare apel nou, fără a verifica dacă tranzacția a fost deja autorizată sau este în curs de execuție.

Un Un atacator poate iniția o tranzacție folosind indicatori „siguri” (evitând astfel autorizația lui Polkit) și, milisecunde mai târziu, trimite o a doua solicitare D-Bus pentru aceeași tranzacție, dar de data aceasta cu semnalizatoare malițioase care comandă o instalare reală. Datorită arhitecturii de prioritate a buclei de evenimente a GLib (unde mesajele D-Bus sunt procesate înainte de apelurile inverse inactive), a doua solicitare suprascrie parametrii chiar înainte ca planificatorul să înceapă operațiunea.
Prin urmare, tranzacția autorizată anterior ca „sigură” este executată cu parametrii înlocuiți., instalând pachetul cu privilegii de administrator.
Soluții și atenuare
Cabe señalar que la Vulnerabilitatea a fost corectată în PackageKit versiunea 1.3.5Prin urmare, dezvoltatorii îndeamnă administratorii de sistem să verifice dacă sistemele lor sunt vulnerabile, verificând starea serviciilor folosind comenzi precum systemctl status packagekit sau monitorizând activitatea cu pkmon.
Las Distribuțiile majore, inclusiv Debian, Ubuntu și Fedora, au început deja să distribuie pachete. Actualizările sunt lansate prin canalele lor oficiale. Pentru sistemele în care un patch nu este disponibil imediat, cercetătorii au propus o soluție: implementarea unei reguli polkit personalizate.
acest Regula respinge imediat și silențios acțiunile de instalare a PackageKit. Pentru orice alt utilizator decât root, acest lucru împiedică deschiderea ferestrei condiției de concurență. Este important de reținut că, deși exploit-ul este rapid și silențios, lasă o urmă clară în jurnalele de sistem: după un exploit reușit, daemonul PackageKit se blochează din cauza unei erori de aserțiune (aserțiune eșuată: (!transaction->priv->emitted_finished)). Deși systemd repornește serviciul, prevenind un atac de tip denial-of-service, prezența acestui mesaj în journalctl este un indicator puternic că sistemul a fost compromis.
În cele din urmă, dacă sunteți interesați să aflați mai multe despre acest subiect, puteți consulta detalii în următorul link.