Η ασφάλεια του Linux αντιμετωπίζει μια ακόμη πρόκληση μετά την ανακάλυψη του... ευπάθεια CVE-2026-31431, με την ονομασία "Αποτυχία αντιγραφής" από τους ερευνητές της Xint Code. Αυτό το πρόβλημα σχεδιασμού, αντί να αποτελεί θεωρητικό ελάττωμα, Επιτρέπει σε έναν τοπικό χρήστη χωρίς δικαιώματα να αυξήσει τα δικαιώματά του και να αποκτήσει πλήρη πρόσβαση. ως υπερχρήστης με προβλέψιμο και αθόρυβο τρόπο.
Οι ερευνητές αναφέρουν ότι αυτή η ευπάθεια έχει αξιοποιηθεί με επιτυχία σε κορυφαίες διανομές όπως το Ubuntu, το Amazon Linux, το RHEL και το SUSE, επιβεβαιώνοντας ότι οποιοδήποτε σύστημα που εκτελεί πυρήνα μεταγενέστερο της έκδοσης 4.14 και διατηρεί Η ενεργοποίηση της υποστήριξης για υποδοχές AF_ALG είναι ενδεχομένως ευάλωτη σε αυτή την επίθεση.
Επιτόπιες λειτουργίες και υπερχείλιση προσωρινής μνήμης σελίδας
Σχετικά με την απόφαση, αναφέρεται ότι Χρονολογείται από μια βελτιστοποίηση που εισήχθη το 2017 στο κρυπτογραφικό API του πυρήνα (AF_ALG). Αυτή η τροποποίηση Έψαχνα να εξαλείψω την περιττή αποθήκευση στο buffering. εκτέλεση λειτουργιών κρυπτογράφησης με έλεγχο ταυτότητας (AEAD) απευθείας στον ίδιο χώρο μνήμης, κάτι που είναι γνωστό ως λειτουργίες "επιτόπου".
El Ένα κρίσιμο πρόβλημα προκύπτει όταν συνδυάζεται αυτή η βελτιστοποίηση με τη συνάρτηση splice(), Αυτή η μέθοδος μεταφέρει δεδομένα μεταξύ περιγραφέων αρχείων μεταφέροντας άμεσες αναφορές στην προσωρινή μνήμη της σελίδας του πυρήνα αντί να αντιγράφει φυσικά τα δεδομένα. Κατά το αίτημα αποκρυπτογράφησης, η δομή μνήμης διαμορφώθηκε έτσι ώστε η προσωρινή μνήμη προορισμού, η οποία θα έπρεπε να είναι ένας προσωρινός χώρος για τον χρήστη, να συνδέεται απευθείας με τις σελίδες της προσωρινής μνήμης που περιέχουν τα δεδομένα του αρχείου συστήματος.
Πιστοποίηση και εγγραφή εκτός των ορίων της μνήμης
El Η τελική αιτία της ευπάθειας έγκειται στην ανώμαλη συμπεριφορά του αλγορίθμου authencesn. Σε αντίθεση με άλλες κρυπτογραφικές ρουτίνες που σέβονται αυστηρά τα όρια των buffer προορισμού τους, Αυτός ο συγκεκριμένος αλγόριθμος χρησιμοποιεί τον χώρο μνήμης του χρήστη ως προσωρινή περιοχή εργασίας. (σημειωματάριο) για την αναδιάταξη των ακολουθιών byte κατά τον υπολογισμό της ετικέτας ελέγχου ταυτότητας.
Σε αυτήν τη διαδικασία, ο αλγόριθμος γράφει τέσσερα byte πέρα από το καθορισμένο όριο για την περιοχή εξόδου. Λόγω της βελτιστοποίησης επί τόπου και της αλυσίδας αναφοράς που δημιουργείται από την splice(),Αυτό το φαινομενικά ακίνδυνο κείμενο ξεπερνά τα όρια της μνήμης του χρήστη. και μεταβαίνει απευθείας στη σελίδα προσωρινής μνήμης πυρήνα που σχετίζεται με το αρχείο που υποβάλλεται σε επεξεργασία.
Αυτή η αλυσίδα λογικών αποτυχιών Δίνει στον εισβολέα τη δυνατότητα να αντικαταστήσει αυθαίρετα τέσσερα byte σε συγκεκριμένες θέσεις της προσωρινής μνήμης. σελίδων για οποιοδήποτε αρχείο μπορεί να διαβάσει. Στέλνοντας μια σειρά από υπολογισμένα αιτήματα, ένας εισβολέας μπορεί να εισάγει κακόβουλο κώδικα στην έκδοση στη μνήμη των κρίσιμων εκτελέσιμων αρχείων με το bit suid ορισμένο, όπως το εργαλείο εναλλαγής χρηστών.
Δεδομένου ότι όλες οι λειτουργίες ανάγνωσης υποβάλλουν πρώτα ερώτημα στην προσωρινή μνήμη σελίδας, την επόμενη φορά που θα κληθεί το νόμιμο βοηθητικό πρόγραμμα, Το σύστημα θα εκτελέσει τον κώδικα που έχει εισαχθεί από τη μνήμη, παραχωρώντας άμεσα δικαιώματα root. χωρίς ποτέ να αλλάξει το φυσικό αρχείο στον σκληρό δίσκο. Ακόμα πιο ανησυχητικό είναι ότι, επειδή η απομόνωση κοντέινερ μοιράζεται την προσωρινή μνήμη σελίδας του υποκείμενου κεντρικού υπολογιστή, αυτή η ευπάθεια χρησιμεύει ως άμεση πύλη για την έξοδο από εικονικά περιβάλλοντα όπως τα συμπλέγματα Kubernetes και την παραβίαση του πρωτεύοντος κόμβου.
Επείγουσες ενημερώσεις κώδικα και λύσεις μετριασμού
Δεδομένης της σοβαρότητας αυτής της απόφασης, η Οι ομάδες συντήρησης έχουν αναπτύξει ενημερώσεις έκτακτης ανάγκης, πού βρίσκεται η οριστική λύση Επαναφέρετε την επιτόπια βελτιστοποίηση μέσα στο αρχείο algif_aead.c, διαχωρίζοντας αυστηρά τις λίστες μνήμης προέλευσης και προορισμού για να αποτρέψετε την κατάληξη των σελίδων που είναι αποθηκευμένες στην προσωρινή μνήμη σε διαδρομές με δυνατότητα εγγραφής.
Αυτές οι ενημερώσεις κώδικα έχουν ήδη ενσωματωθεί στους πυρήνες 6.18.22, 6.19.12 και 7.0 και μεταφέρονται ξανά στους κλάδους μακροπρόθεσμης υποστήριξης. Για τους διαχειριστές που δεν μπορούν να επανεκκινήσουν ή να ενημερώσουν αμέσως τους διακομιστές τους, συνιστάται να απενεργοποιήσουν τη μονάδα πυρήνα algif_aead εάν έχει μεταγλωττιστεί εξωτερικά ή να περιορίσουν αυστηρά τη δημιουργία υποδοχών AF_ALG χρησιμοποιώντας πολιτικές ασφαλείας όπως το SELinux, μια ασπίδα που, για παράδειγμα, έχει διατηρήσει τις τρέχουσες συσκευές Android ασφαλείς από αυτήν την απειλή.
Τέλος, αν ενδιαφέρεστε να μάθετε περισσότερα, μπορείτε να βρείτε τις λεπτομέρειες στον παρακάτω σύνδεσμο.