Το νέο ελάττωμα του πυρήνα του StackRot Linux επιτρέπει την κλιμάκωση των προνομίων

Έχουν προκύψει τεχνικές πληροφορίες για μια σοβαρή ευπάθεια που επηρεάζει πολλαπλές εκδόσεις πυρήνα Linux που θα μπορούσαν να ενεργοποιηθούν με “ελάχιστες δυνατότητες”. Το ζήτημα ασφαλείας αναφέρεται ως StackRot (CVE-

-3269) και μπορεί να χρησιμοποιηθεί για να παραβιάσει τον πυρήνα και να αυξήσει τα δικαιώματα.

Μια ενημέρωση κώδικα είναι διαθέσιμη για τους επηρεασμένους σταθερούς πυρήνες από την 1η Ιουλίου και πλήρεις λεπτομέρειες σχετικά με το ζήτημα μαζί με έναν πλήρη κώδικα εκμετάλλευσης αναμένονται μέχρι το τέλος του μήνα.

Ο ερευνητής ασφαλείας Ruihan Li ανακάλυψε και ανέφερε την ευπάθεια. Εξηγεί σε σημερινή ανάρτησή του ότι επηρεάζει το υποσύστημα διαχείρισης μνήμης του πυρήνα, ένα στοιχείο που είναι υπεύθυνο για την υλοποίηση της εικονικής μνήμης και της σελιδοποίησης ζήτησης, την κατανομή μνήμης για τις ανάγκες του πυρήνα και τα προγράμματα χώρου χρήστη, καθώς και την αντιστοίχιση αρχείων στη διεύθυνση των διεργασιών χώρος.

Το StackRot επηρεάζει όλες τις διαμορφώσεις του πυρήνα στις εκδόσεις Linux 6.1 έως 6.4.

Αν και ο Li έστειλε την αναφορά ευπάθειας στις 15 Ιουνίου, η δημιουργία μιας επιδιόρθωσης χρειάστηκε σχεδόν δύο εβδομάδες λόγω της πολυπλοκότητάς της και ο Linus Torvalds ηγήθηκε της προσπάθειας.

“Στις 28 Ιουνίου, κατά τη διάρκεια του παραθύρου συγχώνευσης για τον πυρήνα του Linux 5.5, η ενημέρωση κώδικα συγχωνεύτηκε στο δέντρο του Linus. Το Linus παρείχε ένα ολοκληρωμένο μήνυμα συγχώνευσης για να αποσαφηνίσει τη σειρά ενημερώσεων κώδικα από τεχνική άποψη. Αυτές οι ενημερώσεις κώδικα στη συνέχεια μεταφέρθηκαν σε σταθερούς πυρήνες (6.1. 37, 6.3.11 και 6.4.1), επιλύοντας αποτελεσματικά το σφάλμα “Stack Rot” την 1η Ιουλίου”, ο ερευνητής

διευκρινίστηκε

.

Στοιχεία StackRot

Το StackRot προκύπτει από τον χειρισμό της επέκτασης στοίβας από τον πυρήνα του Linux στο υποσύστημά του διαχείρισης μνήμης, που συνδέεται με τη διαχείριση περιοχών εικονικής μνήμης (VMA).

Συγκεκριμένα, το αδύναμο σημείο βρίσκεται στο “maple tree”, ένα νέο σύστημα δομής δεδομένων για VMA που εισήχθη στον πυρήνα Linux 6.1 που αντικατέστησε τα “κόκκινα-μαύρα δέντρα” και βασίστηκε στον μηχανισμό ανάγνωσης-αντιγραφής-ενημέρωσης (RCU).

Η ευπάθεια είναι ένα πρόβλημα χωρίς χρήση (UAF) που προέρχεται από τον τρόπο με τον οποίο αντιμετωπίστηκε η επέκταση στοίβας, επειδή το δέντρο σφενδάμου θα μπορούσε να αντικαταστήσει έναν κόμβο χωρίς να αποκτήσει το κλείδωμα εγγραφής διαχείρισης μνήμης (MM).

Καθώς ο πυρήνας Linux επεκτείνει τη στοίβα και αφαιρεί το κενό μεταξύ των VMA, δημιουργείται ένας νέος κόμβος στο «δέντρο σφενδάμου» και ο παλιός επισημαίνεται για διαγραφή μετά την ολοκλήρωση των τρεχουσών αναγνώσεων λόγω της ασφάλειας RCU του δέντρου σφενδάμου.

Ωστόσο, κατά τη διάρκεια της περιόδου χάριτος RCU, μπορεί να προκύψει ένα ζήτημα χωρίς χρήση όταν μια διεργασία αποκτά πρόσβαση στον παλιό κόμβο, δημιουργώντας έτσι ένα εκμεταλλεύσιμο περιβάλλον για την αύξηση των προνομίων.

ένα σενάριο συνθήκης αγώνα σε ένα σύστημα πολλαπλών CPU που έχει ως αποτέλεσμα μια ευπάθεια χρήσης μετά από δωρεάν (UAF) λόγω του ζητήματος StackRot στον πυρήνα του Linux

Συνθήκη αγώνα σε ένα σύστημα πολλαπλών CPU που έχει ως αποτέλεσμα ελάττωμα μετά τη χρήση


(github.com/lrh2000)

Έρχεται η εκμετάλλευση

Ο Ruihan Li σημειώνει ότι η εκμετάλλευση του StackRot είναι μια προκλητική εργασία και ότι το CVE-2023-3269 μπορεί να είναι το πρώτο παράδειγμα μιας θεωρητικά εκμεταλλεύσιμης ευπάθειας χρήσης-μετά-δωρεάν-από-RCU (UAFBR).

Ωστόσο, ο ερευνητής ανακοίνωσε τα σχέδιά του να αποκαλύψει τις πλήρεις τεχνικές λεπτομέρειες σχετικά με το StackRot και ένα proof-of-concept (PoC) exploit μέχρι τα τέλη Ιουλίου.

Ο πυρήνας Linux 6.1 έχει εγκριθεί ως έκδοση μακροπρόθεσμης υποστήριξης (LTS) από τον Φεβρουάριο. Ωστόσο, δεν το έχουν υιοθετήσει όλες οι μεγάλες διανομές Linux.

Για παράδειγμα, το Ubuntu 22.04.2 LTS (Jammy Jellyfish), του οποίου η τυπική υποστήριξη λήγει τον Απρίλιο του 2027, διατίθεται με την έκδοση 5.19 του πυρήνα Linux. Από την άλλη πλευρά, το Debian 12 (Bookworm) έρχεται με πυρήνα Linux 6.1.

Οι χρήστες θα πρέπει να ελέγξουν την έκδοση του πυρήνα στην οποία εκτελείται η διανομή Linux και να επιλέξουν κάποια που δεν επηρεάζεται από το StackRot ή μια ενημερωμένη έκδοση που περιέχει την επιδιόρθωση.


bleepingcomputer.com



You might also like


Leave A Reply



Cancel Reply

Your email address will not be published.