Ευπάθεια στο υποσύστημα πυρήνα Linux του USB Gadget, που ενδεχομένως επιτρέπει την εκτέλεση κώδικα

Το USB Gadget, ένα υποσύστημα του πυρήνα Linux που παρέχει μια διεπαφή προγραμματισμού για τη δημιουργία συσκευών πελάτη USB και λογισμικού που προσομοιώνει συσκευές USB, έχει μια ευπάθεια (CVE-2021-39685) που μπορεί να οδηγήσει σε διαρροή πληροφοριών από τον πυρήνα, συντριβή ή εκτέλεση αυθαίρετος κώδικας στους πυρήνες επιπέδου. Η επίθεση πραγματοποιείται από έναν μη προνομιούχο τοπικό χρήστη μέσω χειρισμού διαφόρων κατηγοριών συσκευών που υλοποιούνται με βάση το USB Gadget API, όπως rndis, hid, uac1, uac1_legacy και uac2.

Το πρόβλημα επιδιορθώθηκε στις πρόσφατα δημοσιευμένες ενημερώσεις πυρήνα Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 και 4.4.295. Το πρόβλημα παραμένει άλυτο στις διανομές (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Ένα πρωτότυπο exploit έχει ετοιμαστεί για να αποδείξει την ευπάθεια.

Το πρόβλημα προκαλείται από υπερχείλιση buffer στους χειριστές αιτημάτων μεταφοράς δεδομένων στα προγράμματα οδήγησης gadget rndis, hid, uac1, uac1_legacy και uac2. Ως αποτέλεσμα της εκμετάλλευσης της ευπάθειας, ένας μη προνομιούχος εισβολέας μπορεί να αποκτήσει πρόσβαση στη μνήμη του πυρήνα στέλνοντας ένα ειδικό αίτημα ελέγχου με τιμή πεδίου wLength που υπερβαίνει το μέγεθος του στατικού buffer, για το οποίο εκχωρούνται πάντα 4096 byte (USB_COMP_EP0_BUFSIZ). Κατά τη διάρκεια της επίθεσης, μια μη προνομιακή διεργασία στο χώρο του χρήστη μπορεί να διαβάσει ή να γράψει έως και 65 KB δεδομένων στη μνήμη του πυρήνα.

Πηγή: opennet.ru

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