Μια κρίσιμη ευπάθεια στον bootloader του Shim Linux επιτρέπει στους εισβολείς να εκτελέσουν κώδικα και να αναλάβουν τον έλεγχο ενός συστήματος στόχου πριν φορτωθεί ο πυρήνας, παρακάμπτοντας τους υπάρχοντες μηχανισμούς ασφαλείας.
Ο Σιμ είναι μικρός
ανοιχτή πηγή
bootloader που διατηρείται από την Red Hat και έχει σχεδιαστεί για να διευκολύνει τη διαδικασία ασφαλούς εκκίνησης σε υπολογιστές που χρησιμοποιούν Ενοποιημένη Επεκτατική Διασύνδεση Υλικολογισμικού (
UEFI
).
Το εργαλείο είναι υπογεγραμμένο με ένα κλειδί Microsoft που είναι αποδεκτό από προεπιλογή στις περισσότερες μητρικές πλακέτες UEFI που χρησιμοποιείται για την επαλήθευση του επόμενου σταδίου της διαδικασίας εκκίνησης, συνήθως φορτώνοντας τον φορτωτή εκκίνησης GRUB2.
Το Shim δημιουργήθηκε από ανάγκη για να επιτρέψει σε έργα ανοιχτού κώδικα, όπως οι διανομές Linux, να επωφεληθούν από τα πλεονεκτήματα του Secure Boot, όπως η αποτροπή μη εξουσιοδοτημένης ή κακόβουλης εκτέλεσης κώδικα κατά την εκκίνηση, διατηρώντας παράλληλα τον έλεγχο του υλικού.
Το νέο ελάττωμα του Shim, που παρακολουθείται ως CVE-2023-40547, ανακαλύφθηκε από τον ερευνητή ασφαλείας της Microsoft,
Bill
Demirkapi, ο οποίος το αποκάλυψε για πρώτη φορά στις 24 Ιανουαρίου
2024
.
Το σφάλμα βρίσκεται στην πηγή httpboot.c για το Shim, η οποία χρησιμοποιείται για την εκκίνηση μιας εικόνας δικτύου μέσω HTTP.
“Κατά την ανάκτηση αρχείων μέσω HTTP ή σχετικών πρωτοκόλλων, η shim επιχειρεί να εκχωρήσει ένα buffer για την αποθήκευση των δεδομένων που λαμβάνονται.”
διαβάζει το commit
για να διορθώσετε το σφάλμα στο httpboot.c.
“Δυστυχώς, αυτό σημαίνει ότι λαμβάνετε το μέγεθος από μια κεφαλίδα HTTP, η οποία μπορεί να τροποποιηθεί για να καθορίσετε ένα μέγεθος που είναι μικρότερο από τα δεδομένα που λαμβάνονται.”
“Σε αυτήν την περίπτωση, ο κώδικας χρησιμοποιεί κατά λάθος την κεφαλίδα για την εκχώρηση, αλλά τα μεταδεδομένα του πρωτοκόλλου για να τα αντιγράψει από το buffer rx, με αποτέλεσμα μια εγγραφή εκτός ορίων.”
Περισσότερες λεπτομέρειες σχετικά με το ελάττωμα έγιναν διαθέσιμες στις 2 Φεβρουαρίου 2024, με
Το Eclypsium δημοσιεύει έκθεση
χθες για να επιστήσει την προσοχή σε αυτό το πρόβλημα ασφάλειας.
Η ευπάθεια έγκειται στην ανάλυση των αποκρίσεων HTTP από τον Shim, επιτρέποντας σε έναν εισβολέα να δημιουργήσει ειδικά διαμορφωμένα αιτήματα HTTP για να προκαλέσει μια εγγραφή εκτός ορίων.
Αυτό θα μπορούσε να επιτρέψει σε έναν εισβολέα να υπονομεύσει ένα σύστημα εκτελώντας προνομιακό κώδικα πριν φορτώσει το λειτουργικό σύστημα, παρακάμπτοντας ουσιαστικά τους μηχανισμούς ασφαλείας που εφαρμόζονται από τον πυρήνα και το λειτουργικό σύστημα.
Το Eclypsium λέει ότι πολλαπλά πιθανά μονοπάτια εκμετάλλευσης μπορούν να αξιοποιήσουν
CVE-2023-40547
, συμπεριλαμβανομένων τοπικών, γειτονικών δικτύων και απομακρυσμένων σημείων επίθεσης. Η έκθεση της εταιρείας επισημαίνει τις ακόλουθες τρεις μεθόδους:
Ένας απομακρυσμένος εισβολέας μπορεί να εκτελέσει μια επίθεση man-in-the-middle (MiTM), παρεμποδίζοντας την
κυκλοφορία
HTTP για εκκίνηση HTTP, ενδεχομένως από οποιαδήποτε θέση δικτύου μεταξύ του θύματος και του διακομιστή.
Ένας τοπικός εισβολέας με επαρκή δικαιώματα μπορεί να τροποποιήσει τις μεταβλητές EFI ή το διαμέρισμα EFI χρησιμοποιώντας ένα ζωντανό USB Linux για να αλλάξει τη σειρά εκκίνησης και να φορτώσει ένα παραβιασμένο shim, εκτελώντας τον προνομιακό κώδικα χωρίς να απενεργοποιήσει την Ασφαλή εκκίνηση.
Ένας εισβολέας στο ίδιο δίκτυο μπορεί να χρησιμοποιήσει το PXE για να φορτώσει έναν παραβιασμένο bootloader shim, εκμεταλλευόμενος την ευπάθεια.
Επιπτώσεις και διορθώσεις
Το RedHat εξέδωσε α
δέσμευση κώδικα
για να διορθώσετε το CVE-2023-40547 στις 5 Δεκεμβρίου 2023, αλλά οι διανομές Linux που υποστηρίζουν την ασφαλή εκκίνηση και χρησιμοποιούν το Shim πρέπει να προωθήσουν τις δικές τους ενημερώσεις κώδικα.
Διανομές Linux που χρησιμοποιούν Shim, όπως π.χ
κόκκινο καπέλο
,
Debian
,
Ubuntu
,
και SUSE
έχουν εκδώσει συμβουλές με πληροφορίες για το ελάττωμα.
Συνιστάται στους χρήστες Linux να ενημερώσουν στην πιο πρόσφατη έκδοση του Shim, v15.8, η οποία
περιέχει μια ενημέρωση κώδικα για το CVE-2023-40547
και άλλα πέντε σημαντικά τρωτά σημεία.
Το Eclypsium εξηγεί ότι οι χρήστες Linux πρέπει επίσης να ενημερώσουν το UEFI Secure Boot DBX (λίστα ανάκλησης) για να συμπεριλάβουν τους κατακερματισμούς του ευάλωτου λογισμικού Shim και να υπογράψουν την επιδιορθωμένη έκδοση με ένα έγκυρο κλειδί της Microsoft.
Για να το κάνετε αυτό, αναβαθμίστε πρώτα σε Shim 15.8 και, στη συνέχεια, εφαρμόστε την ενημέρωση DBX χρησιμοποιώντας την εντολή «fwupdmgr update» (χρειάζεται
fwupd
).

Εντολή για ενημέρωση DBX
(Eclypsium)
Ορισμένες διανομές Linux προσφέρουν ένα εργαλείο GUI για την εκτέλεση αυτής της ενημέρωσης, επομένως βεβαιωθείτε ότι έχετε ελέγξει τον διαχειριστή πακέτων πριν εμβαθύνετε στο τερματικό.
Αν και είναι απίθανο να γίνει μαζική εκμετάλλευση, το CVE-2023-40547
δεν είναι
ένα σφάλμα που πρέπει να αγνοηθεί, καθώς η εκτέλεση κώδικα πριν από την εκκίνηση του λειτουργικού συστήματος είναι μία από τις ισχυρότερες και πιο κρυφές μορφές συμβιβασμού του συστήματος.
VIA:
bleepingcomputer.com


