Ευπάθεια στη μονάδα ksmbd του πυρήνα Linux, η οποία σας επιτρέπει να εκτελέσετε εξ αποστάσεως τον κώδικά σας

Εντοπίστηκε μια κρίσιμη ευπάθεια στη λειτουργική μονάδα ksmbd, η οποία περιλαμβάνει μια υλοποίηση ενός διακομιστή αρχείων που βασίζεται στο πρωτόκολλο SMB που είναι ενσωματωμένο στον πυρήνα του Linux, το οποίο σας επιτρέπει να εκτελείτε εξ αποστάσεως τον κώδικά σας με δικαιώματα πυρήνα. Η επίθεση μπορεί να πραγματοποιηθεί χωρίς έλεγχο ταυτότητας, αρκεί να είναι ενεργοποιημένη η μονάδα ksmbd στο σύστημα. Το πρόβλημα εμφανίζεται από τον πυρήνα 5.15, που κυκλοφόρησε τον Νοέμβριο του 2021, και επιδιορθώθηκε αθόρυβα στις ενημερώσεις 5.15.61, 5.18.18 και 5.19.2, που κυκλοφόρησαν τον Αύγουστο του 2022. Δεδομένου ότι το αναγνωριστικό CVE δεν έχει ακόμη εκχωρηθεί στο ζήτημα, δεν υπάρχουν ακριβείς πληροφορίες σχετικά με τον τρόπο επίλυσης του προβλήματος στις διανομές.

Λεπτομέρειες σχετικά με την εκμετάλλευση της ευπάθειας δεν έχουν ακόμη αποκαλυφθεί· είναι γνωστό μόνο ότι η ευπάθεια προκαλείται από την πρόσβαση σε μια ήδη ελευθερωμένη περιοχή μνήμης (Use-After-Free) λόγω της έλλειψης ελέγχου της ύπαρξης ενός αντικειμένου πριν από την εκτέλεση λειτουργιών πάνω του. Το πρόβλημα οφείλεται στο γεγονός ότι η συνάρτηση smb2_tree_disconnect() απελευθέρωσε τη μνήμη που είχε εκχωρηθεί για τη δομή ksmbd_tree_connect, αλλά μετά από αυτό υπήρχε ακόμα ένας δείκτης που χρησιμοποιήθηκε κατά την επεξεργασία ορισμένων εξωτερικών αιτημάτων που περιέχουν εντολές SMB2_TREE_DISCONNECT.

Εκτός από την αναφερόμενη ευπάθεια, 4 λιγότερο επικίνδυνα προβλήματα έχουν επίσης διορθωθεί στο ksmbd:

  • ZDI-22-1688 - απομακρυσμένη εκτέλεση κώδικα με δικαιώματα πυρήνα λόγω του ότι ο κώδικας επεξεργασίας του χαρακτηριστικού αρχείου δεν ελέγχει το πραγματικό μέγεθος των εξωτερικών δεδομένων πριν τα αντιγράψει σε μια ειδική προσωρινή μνήμη. Η ευπάθεια μετριάζεται από το γεγονός ότι η επίθεση μπορεί να πραγματοποιηθεί μόνο από πιστοποιημένο χρήστη.
  • ZDI-22-1691 - απομακρυσμένη διαρροή πληροφοριών από τη μνήμη του πυρήνα λόγω εσφαλμένου ελέγχου των παραμέτρων εισόδου στον χειριστή εντολών SMB2_WRITE (η επίθεση μπορεί να πραγματοποιηθεί μόνο από πιστοποιημένο χρήστη).
  • ZDI-22-1687 - απομακρυσμένη άρνηση υπηρεσίας που προκαλείται από εξάντληση της διαθέσιμης μνήμης στο σύστημα λόγω εσφαλμένης αποδέσμευσης πόρων στον χειριστή εντολών SMB2_NEGOTIATE (η επίθεση μπορεί να πραγματοποιηθεί χωρίς έλεγχο ταυτότητας).
  • ZDI-22-1689 - Συντριβή απομακρυσμένου πυρήνα λόγω έλλειψης σωστής επικύρωσης των παραμέτρων της εντολής SMB2_TREE_CONNECT, με αποτέλεσμα την ανάγνωση από μια περιοχή εκτός του buffer (η επίθεση μπορεί να πραγματοποιηθεί μόνο από πιστοποιημένο χρήστη).

Υποστήριξη για τη λειτουργία ενός διακομιστή SMB χρησιμοποιώντας τη μονάδα ksmbd υπάρχει στο πακέτο Samba από την έκδοση 4.16.0. Σε αντίθεση με έναν διακομιστή SMB χώρου χρήστη, ο ksmbd είναι πιο αποτελεσματικός όσον αφορά την απόδοση, την κατανάλωση μνήμης και την ενσωμάτωση με προηγμένες δυνατότητες πυρήνα. Το Ksmbd διαφημίζεται ως μια υψηλής απόδοσης, ενσωματωμένη-έτοιμη επέκταση Samba που ενσωματώνεται με εργαλεία και βιβλιοθήκες Samba όπως απαιτείται. Ο κώδικας ksmbd γράφτηκε από τον Namjae Jeon της Samsung και τον Hyunchul Lee της LG και ο πυρήνας διατηρείται από τον Steve French της Microsoft, έναν συντηρητή των υποσυστημάτων CIFS/SMB2/SMB3 στον πυρήνα Linux και ένα μακροχρόνιο μέλος της ομάδας ανάπτυξης Samba , ο οποίος συνέβαλε σημαντικά στην υλοποίηση της υποστήριξης για τα πρωτόκολλα SMB/CIFS σε Samba και Linux.

Πηγή: opennet.ru

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