Pack2TheRoot (CVE-2026-41651): Το ελάττωμα του PackageKit που θέτει σε κίνδυνο το Linux

Βασικά σημεία:
  • Η αποτυχία βασίζεται σε μια συνθήκη κούρσας (TOCTOU) εντός της διαχείρισης συναλλαγών D-Bus, παρακάμπτοντας την εξουσιοδότηση polkit.
  • Επηρεάζει άμεσα δημοφιλείς διανομές όπως το Ubuntu, το Debian, το Fedora και το Rocky Linux στις προεπιλεγμένες εγκαταστάσεις τους.
  • Ένας εισβολέας μπορεί να αντικαταστήσει τις σημαίες μιας ασφαλούς συναλλαγής στέλνοντας ένα δεύτερο αίτημα πριν ο χρονοπρογραμματιστής ξεκινήσει τη λειτουργία.
  • Η ευπάθεια διορθώνεται στο PackageKit 1.3.5 και υπάρχει μια προσωρινή μετριασμός με τη δημιουργία προσαρμοσμένων κανόνων στο polkit.

Pack2TheRoot

πριν ΛΙΓΕΣ μερες Δημοσιεύτηκαν πληροφορίες σχετικά με μια νέα κρίσιμη ευπάθεια που επηρεάζει τα περιβάλλοντα Linux που ονομάζονται "Pack2TheRoot". Καταχωρήθηκε με CVE-2026-41651Αυτό το ελάττωμα επηρεάζει το PackageKit (ένα εργαλείο που λειτουργεί ως επίπεδο αφαίρεσης D-Bus για την ενοποίηση της διαχείρισης πακέτων σε πολλαπλές διανομές)

Αναφέρεται ότι η απόφαση Επιτρέπει σε οποιονδήποτε τοπικό χρήστη χωρίς δικαιώματα να εγκαθιστά ή να αφαιρεί πακέτα αυθαίρετα. Εκμεταλλευόμενος αυτό το θέμα ευπάθειας, ένας εισβολέας μπορεί να αποκτήσει πλήρη πρόσβαση root στο παραβιασμένο σύστημα. Ο αντίκτυπος είναι σημαντικός, δεδομένου ότι το πρόβλημα υπάρχει από την έκδοση 1.0.2, η οποία κυκλοφόρησε πριν από δώδεκα χρόνια (το 2014), και επηρεάζει τις προεπιλεγμένες διαμορφώσεις δημοφιλών διανομών όπως το Ubuntu, το Debian, το Rocky Linux και το Fedora.

Pack2TheRoot: Η ευπάθεια του PackageKit παρέχει πρόσβαση διαχειριστή σε Linux

El Η ανακάλυψη του Pack2TheRoot ήταν αποτέλεσμα έρευνας με επικεφαλής την Κόκκινη Ομάδα της Deutsche Telekom, η οποία Χρησιμοποίησαν το μοντέλο τεχνητής νοημοσύνης του Claude Opus για να καθοδηγήσουν την ανάλυσή τους σχετικά με τα διανύσματα κλιμάκωσης τοπικών προνομίων.

LoΟι ερευνητές αρχικά παρατήρησαν ότι η εντολή pkcon install μπορούσε να εκτελεστεί χωρίς να απαιτείται κωδικός πρόσβασης.σε ορισμένες διαμορφώσεις του Fedora, γεγονός που έθεσε υπόνοιες σχετικά με την υποκείμενη εξουσιοδότηση. Μετά την επιβεβαίωση και την υπεύθυνη αναφορά της ευπάθειας στους συντηρητές του PackageKit, Έχει αναπτυχθεί ένα λειτουργικό exploit, αν και η λεπτομερής δημοσίευσή του έχει καθυστερήσει στρατηγικά ώστε να επιτραπεί στους χρήστες και τους διαχειριστές να εφαρμόσουν τις απαραίτητες ενημερώσεις.

Οι μηχανισμοί της επίθεσης

Η ρίζα του Η ευαλωτότητα έγκειται σε μια επαγγελματική κατάσταση (Τύπος TOCTOU: Από χρόνο ελέγχου έως χρόνο χρήσης) Dentro de διαχείριση συναλλαγών διεργασιών στο παρασκήνιο (δαίμονας) του PackageKitΤο PackageKit, λειτουργώντας ως χρήστης root, αναθέτει εξουσιοδότηση στο σύστημα polkit. Όταν ένας πελάτης ζητά να εγκαταστήσει ένα πακέτο, για παράδειγμα χρησιμοποιώντας τη μέθοδο InstallFiles, μεταδίδει ένα σύνολο σημαιών που υπαγορεύουν τη συμπεριφορά της συναλλαγής.

Συγκεκριμένες σημαίες, όπως SIMULATE ή ONLY_DOWNLOAD, δίνουν εντολή στο PackageKit να παρακάμψει την εξουσιοδότηση polkit. καθώς αντιπροσωπεύουν ασφαλείς λειτουργίες που, θεωρητικά, δεν τροποποιούν την κατάσταση του συστήματος. Η αποτυχία ενεργοποιείται επειδή ο χειριστής συναλλαγών αντικαθιστά Αυτοί οι δείκτες αποθηκεύονται άνευ όρων στην προσωρινή μνήμη με κάθε νέα κλήση, χωρίς να επαληθεύεται εάν η συναλλαγή έχει ήδη εγκριθεί ή βρίσκεται σε διαδικασία εκτέλεσης.

pack2theroot-poc2

Un Ένας εισβολέας μπορεί να ξεκινήσει μια συναλλαγή χρησιμοποιώντας «ασφαλείς» δείκτες (παρακάμπτοντας έτσι την εξουσιοδότηση του polkit) και, χιλιοστά του δευτερολέπτου αργότερα, στείλτε ένα δεύτερο αίτημα D-Bus για την ίδια συναλλαγή, αλλά αυτή τη φορά με κακόβουλες σημαίες που δίνουν εντολή σε μια πραγματική εγκατάσταση. Λόγω της αρχιτεκτονικής προτεραιότητας βρόχου συμβάντων του GLib (όπου τα μηνύματα D-Bus υποβάλλονται σε επεξεργασία πριν από τις αδρανείς επανακλήσεις), το δεύτερο αίτημα αντικαθιστά τις παραμέτρους λίγο πριν ο χρονοπρογραμματιστής ξεκινήσει τη λειτουργία.

Ως αποτέλεσμα, η συναλλαγή που είχε προηγουμένως εγκριθεί ως «ασφαλής» εκτελείται με τις αντικατεστημένες παραμέτρους., εγκαθιστώντας το πακέτο με δικαιώματα διαχειριστή.

Λύσεις και μετριασμός

Καμπέ σενιάλαρ που το Η ευπάθεια έχει διορθωθεί στην έκδοση 1.3.5 του PackageKit.Επομένως, οι προγραμματιστές παροτρύνουν τους διαχειριστές συστημάτων να ελέγχουν εάν τα συστήματά τους είναι ευάλωτα, ελέγχοντας την κατάσταση της υπηρεσίας χρησιμοποιώντας εντολές όπως το systemctl status packagekit ή παρακολουθώντας τη δραστηριότητα με το pkmon.

ο Οι κύριες διανομές, συμπεριλαμβανομένων των Debian, Ubuntu και Fedora, έχουν ήδη αρχίσει να διανέμουν πακέτα. Οι ενημερώσεις κυκλοφορούν μέσω των επίσημων καναλιών τους. Για συστήματα όπου μια ενημέρωση κώδικα δεν είναι άμεσα διαθέσιμη, οι ερευνητές έχουν προτείνει μια λύση: την ανάπτυξη ενός προσαρμοσμένου κανόνα polkit.

Αυτό Ο κανόνας αρνείται αμέσως και σιωπηλά τις ενέργειες εγκατάστασης του PackageKit. Για οποιονδήποτε χρήστη εκτός από τον root, αυτό εμποδίζει το άνοιγμα του παραθύρου συνθήκης κούρσας. Είναι σημαντικό να σημειωθεί ότι, παρόλο που η εκμετάλλευση είναι γρήγορη και αθόρυβη, αφήνει ένα σαφές ίχνος στα αρχεία καταγραφής του συστήματος: μετά από μια επιτυχημένη εκμετάλλευση, ο δαίμονας PackageKit καταρρέει λόγω μιας αποτυχίας διεκδίκησης (διεκδίκηση απέτυχε: (!transaction->priv->emitted_finished)). Παρόλο που το systemd επανεκκινεί την υπηρεσία, αποτρέποντας μια επίθεση άρνησης υπηρεσίας, η παρουσία αυτού του μηνύματος στο journalctl αποτελεί ισχυρή ένδειξη ότι το σύστημα έχει παραβιαστεί.

Τέλος, αν ενδιαφέρεστε να μάθετε περισσότερα σχετικά με αυτό, μπορείτε να συμβουλευτείτε την λεπτομέρειες στον παρακάτω σύνδεσμο.


Προσθήκη ως προτιμώμενης πηγής