Στον κώδικα υποσυστήματος iSCSI του πυρήνα Linux Εντοπίστηκε ένα θέμα ευπάθειας (CVE-2021-27365) που επιτρέπει σε έναν τοπικό χρήστη χωρίς δικαιώματα να εκτελέσει κώδικα σε επίπεδο πυρήνα και να αποκτήσει δικαιώματα root στο σύστημα. Ένα λειτουργικό πρωτότυπο exploit είναι διαθέσιμο για δοκιμή. Το θέμα ευπάθειας έχει διορθωθεί στις ενημερώσεις του πυρήνα. Linux 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 και 4.4.260. Οι ενημερώσεις πακέτων πυρήνα είναι διαθέσιμες στις διανομές. Debian, Ubuntu, SUSE/openSUSE, Arch Linux και Fedora. Δεν έχουν κυκλοφορήσει ακόμη ενημερώσεις κώδικα για το RHEL.
Το πρόβλημα προκαλείται από ένα σφάλμα στη συνάρτηση iscsi_host_get_param() από τη λειτουργική μονάδα libiscsi, η οποία παρουσιάστηκε το 2006 κατά την ανάπτυξη του υποσυστήματος iSCSI. Λόγω έλλειψης κατάλληλων ελέγχων μεγέθους, ορισμένα χαρακτηριστικά συμβολοσειράς iSCSI, όπως το όνομα κεντρικού υπολογιστή ή το όνομα χρήστη, ενδέχεται να υπερβαίνουν την τιμή PAGE_SIZE (4 KB). Το θέμα ευπάθειας μπορεί να εκμεταλλευτεί ένας χρήστης χωρίς δικαιώματα που στέλνει μηνύματα Netlink που ορίζουν τα χαρακτηριστικά iSCSI σε τιμές μεγαλύτερες από PAGE_SIZE. Κατά την ανάγνωση δεδομένων χαρακτηριστικών μέσω sysfs ή seqfs, καλείται κώδικας που μεταβιβάζει τα χαρακτηριστικά στη συνάρτηση sprintf για αντιγραφή σε ένα buffer μεγέθους PAGE_SIZE.
Η εκμετάλλευση της ευπάθειας σε διανομές εξαρτάται από την υποστήριξη για αυτόματη φόρτωση της μονάδας πυρήνα scsi_transport_iscsi κατά την προσπάθεια δημιουργίας μιας υποδοχής NETLINK_ISCSI. Σε διανομές όπου αυτή η ενότητα φορτώνεται αυτόματα, η επίθεση μπορεί να πραγματοποιηθεί ανεξάρτητα από τη χρήση της λειτουργικότητας iSCSI. Για να χρησιμοποιηθεί με επιτυχία η εκμετάλλευση, πρέπει επιπλέον να καταχωρηθεί τουλάχιστον μία μεταφορά iSCSI. Με τη σειρά σας, για να καταχωρήσετε τη μεταφορά, μπορείτε να χρησιμοποιήσετε τη μονάδα πυρήνα ib_iser, η οποία φορτώνεται αυτόματα όταν ένας χρήστης χωρίς δικαιώματα προσπαθεί να δημιουργήσει μια υποδοχή NETLINK_RDMA.
Η αυτόματη φόρτωση των ενοτήτων που απαιτούνται για χρήση εκμετάλλευσης υποστηρίζεται στο CentOS 8, RHEL 8 και Fedora κατά την εγκατάσταση του πακέτου rdma-core, το οποίο αποτελεί εξάρτηση για πολλά δημοφιλή πακέτα και εγκαθίσταται από προεπιλογή σε διαμορφώσεις σταθμού εργασίας, διακομιστή που βασίζεται σε GUI και κεντρικού υπολογιστή εικονικοποίησης. Ωστόσο, το rdma-core δεν εγκαθίσταται όταν χρησιμοποιείται μια έκδοση διακομιστή μόνο για κονσόλα ή κατά την εγκατάσταση μιας ελάχιστης εικόνας εγκατάστασης. Για παράδειγμα, το πακέτο περιλαμβάνεται στη βασική διανομή του Fedora 31 Workstation, αλλά όχι στον Fedora 31 Server. Debian и Ubuntu είναι λιγότερο ευάλωτα στο πρόβλημα, καθώς το πακέτο rdma-core φορτώνει τις μονάδες πυρήνα που απαιτούνται για την επίθεση μόνο εάν υπάρχει υλικό RDMA.

Ως λύση, μπορείτε να απενεργοποιήσετε την αυτόματη φόρτωση της ενότητας libiscsi: echo "install libiscsi /bin/true" >> /etc/modprobe.d/disable-libiscsi.conf
Επιπλέον, έχουν διορθωθεί δύο λιγότερο σοβαρά θέματα ευπάθειας στο υποσύστημα iSCSI που θα μπορούσαν να οδηγήσουν σε διαρροές δεδομένων πυρήνα: το CVE-2021-27363 (διαρροή πληροφοριών περιγραφέα μεταφοράς iSCSI μέσω sysfs) και το CVE-2021-27364 (ανάγνωση εκτός ορίων). Τα εντοπισμένα τρωτά σημεία μπορούν να αξιοποιηθούν για αλληλεπίδραση με το υποσύστημα iSCSI μέσω μιας υποδοχής netlink χωρίς τα απαιτούμενα δικαιώματα. Για παράδειγμα, ένας χρήστης χωρίς δικαιώματα θα μπορούσε να συνδεθεί στο iSCSI και να εκδώσει την εντολή "end a session" (τερματισμός περιόδου σύνδεσης) για να τερματίσει την περίοδο σύνδεσης.
Πηγή: opennet.ru
