Ευπάθεια στην υλοποίηση της υποδοχής AF_PACKET του πυρήνα Linux

Τρία χρόνια μετά το κύμα ευπάθειας (1, 2, 3, 4, 5) στο υποσύστημα AF_PACKET του πυρήνα Linux αναγνωρισθείς ένα ακόμη πρόβλημα (CVE-2020-14386), επιτρέποντας σε έναν τοπικό μη προνομιούχο χρήστη να εκτελέσει κώδικα ως root ή να εξέλθει από απομονωμένα κοντέινερ εάν έχει πρόσβαση root.

Η δημιουργία μιας υποδοχής AF_PACKET και η εκμετάλλευση της ευπάθειας απαιτεί προνόμια CAP_NET_RAW. Ωστόσο, η καθορισμένη άδεια μπορεί να ληφθεί από έναν μη προνομιούχο χρήστη σε κοντέινερ που έχουν δημιουργηθεί σε συστήματα με ενεργοποιημένη την υποστήριξη για χώρους ονομάτων χρήστη. Για παράδειγμα, οι χώροι ονομάτων χρήστη είναι ενεργοποιημένοι από προεπιλογή στο Ubuntu και στο Fedora, αλλά δεν είναι ενεργοποιημένοι στο Debian και στο RHEL. Στο Android, η διαδικασία του mediaserver έχει το δικαίωμα να δημιουργήσει υποδοχές AF_PACKET, μέσω των οποίων μπορεί να γίνει εκμετάλλευση της ευπάθειας.

Η ευπάθεια υπάρχει στη συνάρτηση tpacket_rcv και προκαλείται από ένα σφάλμα στον υπολογισμό της μεταβλητής netoff. Ένας εισβολέας μπορεί να δημιουργήσει συνθήκες στις οποίες η μεταβλητή netoff γράφεται σε τιμή μικρότερη από τη μεταβλητή maclen, η οποία θα προκαλέσει υπερχείλιση κατά τον υπολογισμό του "macoff = netoff - maclen" και, στη συνέχεια, θα ρυθμίσει εσφαλμένα τον δείκτη στην προσωρινή μνήμη για τα εισερχόμενα δεδομένα. Ως αποτέλεσμα, ένας εισβολέας μπορεί να ξεκινήσει την εγγραφή από 1 έως 10 byte σε μια περιοχή πέρα ​​από το όριο του εκχωρημένου buffer. Σημειώνεται ότι βρίσκεται υπό ανάπτυξη ένα exploit που σας επιτρέπει να αποκτήσετε δικαιώματα root στο σύστημα.

Το πρόβλημα υπάρχει στον πυρήνα από τον Ιούλιο του 2008, δηλ. εκδηλώνεται σε όλους τους πραγματικούς πυρήνες. Η επιδιόρθωση είναι προς το παρόν διαθέσιμη ως κηλίδα. Μπορείτε να παρακολουθείτε τη διαθεσιμότητα ενημερώσεων πακέτων σε διανομές στις ακόλουθες σελίδες: Ubuntu, Μαλακό καπέλλο, SUSE, Debian, RHEL, αψίδα.

Πηγή: opennet.ru

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