Σοβαρό κενό ασφαλείας στον πυρήνα του Linux δίνει δικαιώματα root και επιτρέπει την απόδραση από εικονικές μηχανές

Linux

Ένα κρίσιμο σφάλμα στο υποσύστημα vhost του πυρήνα Linux επιτρέπει σε έναν τοπικό χρήστη να διαβάζει και να γράφει κατά βούληση στη μνήμη του πυρήνα, αποκτώντας πλήρη δικαιώματα διαχειριστή (root).

Το πρόβλημα επηρεάζει εκδόσεις του πυρήνα που καλύπτουν σχεδόν μία δεκαετία, ενώ σε συγκεκριμένες παραμετροποιήσεις εικονικοποίησης επιτρέπει σε μια μη εξουσιοδοτημένη εικονική μηχανή (guest) να εγγράψει δεδομένα στη μνήμη του συστήματος φιλοξενίας (host) και να καταλάβει τον έλεγχο της εφαρμογής που την εκτελεί.

Το κενό ασφαλείας παρακολουθείται ως CVE-2026-74580 και ονομάστηκε Vghost. Ανακαλύφθηκε από το Tencent Zhuque Lab, το οποίο κυκλοφόρησε διορθωτικό κώδικα στις 3 Αυγούστου και δημοσίευσε την πλήρη ανάλυση στις 12 Οκτωβρίου με λειτουργικά παραδείγματα επιθέσεων. Μέχρι στιγμής δεν υπάρχουν δημόσιες ενδείξεις ότι το σφάλμα έχει χρησιμοποιηθεί σε πραγματικές επιθέσεις.

Πώς λειτουργεί το υποσύστημα vhost και ο μηχανισμός της επίθεσης

Το υποσύστημα vhost αποτελεί τμήμα του πυρήνα Linux που επιταχύνει τις λειτουργίες δικτύου και εισόδου/εξόδου για εικονικές μηχανές και containers. Ένας τοπικός χρήστης αποκτά πρόσβαση σε αυτό ανοίγοντας έναν κόμβο συσκευής, συνήθως το /dev/vhost-net ή το /dev/vhost-vsock.

Στο σύστημα φιλοξενίας, το σφάλμα παρέχει σε έναν απλό χρήστη έναν αξιόπιστο τρόπο να προσπελάσει οποιαδήποτε διεύθυνση του πυρήνα, να παρακάμψει τον μηχανισμό προστασίας KASLR και να αναβαθμίσει τα δικαιώματά του σε root. Η επίθεση είναι απόλυτα προβλέψιμη και δεν απαιτεί ειδικούς ελιγμούς στη μνήμη ή ευνοϊκό χρονισμό.

Η δεύτερη μορφή επίθεσης αφορά το περιβάλλον εικονικοποίησης. Όταν η συσκευή virtio μιας εικονικής μηχανής βρίσκεται πίσω από ένα εικονικό IOMMU με ενεργοποιημένο το iommu_platform και το vhost λειτουργεί σε κατάσταση device-IOTLB, η εικονική μηχανή μπορεί να προκαλέσει το ίδιο σφάλμα. Αυτό οδηγεί τον πυρήνα του συστήματος φιλοξενίας σε εγγραφή εκτός ορίων μέσα στη διεργασία QEMU του host, επιτρέποντας την αντικατάσταση δεικτών συναρτήσεων και την κατάληψη του ελέγχου.

Η προέλευση του σφάλματος και η διατήρησή του στον κώδικα

Το vhost διατηρεί μια μικρή λανθάνουσα μνήμη (cache) των αντιστοιχίσεων μνήμης. Όταν υπάρχει εγγραφή στη λανθάνουσα μνήμη, θεωρείται ότι η περιοχή έχει ήδη ελεγχθεί. Η μνήμη αυτή εκκαθαρίζεται όταν η αντιστοίχιση ενημερώνεται ή ακυρώνεται, αλλά όχι όταν οι εντολές VHOST_SET_VRING_ADDR ή VHOST_SET_VRING_NUM αλλάζουν τις διευθύνσεις ή το μέγεθος του δακτυλίου ενώ η ουρά είναι ενεργή.

Με συνδεδεμένο ένα device IOTLB, οι εντολές αυτές αποδέχονται τις νέες διευθύνσεις χωρίς άμεσο έλεγχο. Μόλις γεμίσει η λανθάνουσα μνήμη, ο επόμενος έλεγχος δεν εκτελείται ποτέ και το vhost συνεχίζει τη μετάφραση χρησιμοποιώντας την παλιά αντιστοίχιση. Ο πυρήνας στη συνέχεια αντιγράφει δεδομένα χωρίς έλεγχο ορίων, δίνοντας στον εισβολέα τη δυνατότητα ανάγνωσης και εγγραφής στη μνήμη του πυρήνα.

Το κενό ασφαλείας παρέμεινε στον κώδικα για περίπου εννέα χρόνια λόγω του συνδυασμού δύο ξεχωριστών αλλαγών. Μια τροποποίηση το 2017 (Linux 4.11) πρόσθεσε τη λανθάνουσα μνήμη και τη σύντομη διαδρομή ελέγχου, ενώ μια αλλαγή το 2020 (Linux 5.9) μετακίνησε τον έλεγχο διευθύνσεων σε μεταγενέστερο στάδιο, αφαιρώντας τον μηχανισμό που θα εντόπιζε τη λανθασμένη μετάφραση.

Ποιοι επηρεάζονται και τα απαραίτητα μέτρα αποκατάστασης

Το σφάλμα επηρεάζει τις εκδόσεις του πυρήνα Linux από την 4.11 έως την 7.2-rc4. Η Tencent αναπαρήγαγε την επίθεση αναβάθμισης δικαιωμάτων σε πέντε ευρέως χρησιμοποιούμενες διανομές: Ubuntu 26.04, RHEL 9.8, Amazon Linux 2023, Microsoft Azure Linux 3.0 και Oracle Linux 10.2.

Η διόρθωση (commit de845981da67) καθαρίζει τη λανθάνουσα μνήμη κάθε φορά που αναδιαμορφώνεται ο δακτύλιος. Οι χρήστες πρέπει να εγκαταστήσουν έναν διορθωμένο πυρήνα και να επανεκκινήσουν το σύστημα. Μέχρι την εφαρμογή του ενημερωμένου πυρήνα, συνιστάται ο περιορισμός της πρόσβασης στους κόμβους συσκευών vhost, αφαιρώντας τα δικαιώματα γενικής πρόσβασης στα /dev/vhost-net και /dev/vhost-vsock.

Αξίζει να σημειωθεί ότι η ευπάθεια εντοπίστηκε με τη βοήθεια του Corvus AI, ενός συστήματος πολλαπλών πρακτόρων τεχνητής νοημοσύνης που ανέπτυξε η Tencent για την έρευνα ευπαθειών στον πυρήνα. Πρόκειται για μια διαδικασία έρευνας με υποστήριξη μηχανικής μάθησης και όχι για αυτόνομη επίθεση από τεχνητή νοημοσύνη, αναδεικνύοντας τις νέες δυνατότητες της τεχνολογίας στην ενίσχυση της κυβερνοασφάλειας.

Scroll to Top