Ευπάθεια στο OverlayFS που επιτρέπει την κλιμάκωση των προνομίων

Εντοπίστηκε μια ευπάθεια στον πυρήνα του Linux στην υλοποίηση του συστήματος αρχείων OverlayFS (CVE-2023-0386), το οποίο μπορεί να χρησιμοποιηθεί για να αποκτήσει πρόσβαση root σε συστήματα που έχουν εγκατεστημένο το υποσύστημα FUSE και να επιτρέψει την προσάρτηση κατατμήσεων OverlayFS από μη προνομιούχο χρήστη (ξεκινώντας με τον πυρήνα Linux 5.11 με τη συμπερίληψη μη προνομιούχου χώρου ονομάτων χρήστη). Το ζήτημα έχει διορθωθεί στον κλάδο πυρήνα 6.2. Η δημοσίευση ενημερώσεων πακέτων σε διανομές μπορεί να παρακολουθηθεί στις σελίδες: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Η επίθεση εκτελείται αντιγράφοντας αρχεία με σημαίες setgid/setuid από ένα διαμέρισμα τοποθετημένο σε λειτουργία nosuid σε ένα διαμέρισμα OverlayFS που έχει ένα επίπεδο που σχετίζεται με το διαμέρισμα που επιτρέπει την εκτέλεση αρχείων suid. Η ευπάθεια είναι παρόμοια με το ζήτημα CVE-2021-3847 που εντοπίστηκε το 2021, αλλά διαφέρει σε χαμηλότερες απαιτήσεις εκμετάλλευσης - το παλιό ζήτημα απαιτούσε χειρισμό με xattrs, οι οποίοι περιορίζονται στη χρήση χώρων ονομάτων χρήστη (user namespace) και το νέο ζήτημα χρησιμοποιεί bits setgid /setuid που δεν αντιμετωπίζονται ειδικά στον χώρο ονομάτων χρήστη.

Αλγόριθμος επίθεσης:

  • Με τη βοήθεια του υποσυστήματος FUSE, προσαρτάται ένα σύστημα αρχείων, στο οποίο υπάρχει ένα εκτελέσιμο αρχείο που ανήκει στον χρήστη root με τις σημαίες setuid / setgid, διαθέσιμο σε όλους τους χρήστες για εγγραφή. Κατά την τοποθέτηση, το FUSE ρυθμίζει τη λειτουργία σε "nosuid".
  • Κατάργηση κοινής χρήσης χώρων ονομάτων χρήστη και σημείων προσάρτησης (χώρος ονομάτων χρήστη/προσάρτησης).
  • Το OverlayFS προσαρτάται με το FS που είχε δημιουργηθεί προηγουμένως στο FUSE ως το κάτω στρώμα και το επάνω στρώμα με βάση τον εγγράψιμο κατάλογο. Ο κατάλογος του ανώτερου επιπέδου πρέπει να βρίσκεται σε ένα σύστημα αρχείων που δεν χρησιμοποιεί τη σημαία "nosuid" όταν είναι προσαρτημένο.
  • Για ένα αρχείο suid στο διαμέρισμα FUSE, το βοηθητικό πρόγραμμα αφής αλλάζει τον χρόνο τροποποίησης, γεγονός που οδηγεί στην αντιγραφή του στο επάνω στρώμα του OverlayFS.
  • Κατά την αντιγραφή, ο πυρήνας δεν αφαιρεί τις σημαίες setgid/setuid, γεγονός που προκαλεί την εμφάνιση του αρχείου σε ένα διαμέρισμα που μπορεί να υποβληθεί σε επεξεργασία από το setgid/setuid.
  • Για να αποκτήσετε δικαιώματα ρίζας, αρκεί να εκτελέσετε το αρχείο με τις σημαίες setgid/setuid από τον κατάλογο που είναι συνδεδεμένος στο επάνω επίπεδο του OverlayFS.

Επιπλέον, μπορούμε να σημειώσουμε την αποκάλυψη πληροφοριών από ερευνητές από την ομάδα του Google Project Zero σχετικά με τρία τρωτά σημεία που επιδιορθώθηκαν στον κύριο κλάδο του πυρήνα Linux 5.15, αλλά δεν μεταφέρθηκαν σε πακέτα πυρήνα από το RHEL 8.x/9.x και CentOS Stream 9.

  • CVE-2023-1252 - Πρόσβαση σε μια ήδη ελευθερωμένη περιοχή μνήμης στη δομή ovl_aio_req ενώ εκτελείτε πολλές λειτουργίες ταυτόχρονα στο OverlayFS που αναπτύσσεται πάνω από το σύστημα αρχείων Ext4. Δυνητικά, η ευπάθεια σάς επιτρέπει να αυξήσετε τα προνόμιά σας στο σύστημα.
  • CVE-2023-0590 - Αναφέρεται σε μια ήδη ελευθερωμένη περιοχή μνήμης στη συνάρτηση qdisc_graft(). Η λειτουργία θεωρείται ότι περιορίζεται σε ματαίωση.
  • CVE-2023-1249 - Πρόσβαση σε μια ήδη ελευθερωμένη περιοχή μνήμης στον κωδικό εισαγωγής coredump λόγω της έλλειψης κλήσης mmap_lock στο file_files_note. Η λειτουργία θεωρείται ότι περιορίζεται σε ματαίωση.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο