ευπάθεια sudo root που επηρεάζει το Linux Mint και το Elementary OS

Στο βοηθητικό sudo, που χρησιμοποιείται για την οργάνωση της εκτέλεσης εντολών για λογαριασμό άλλων χρηστών, αναγνωρισθείς ευπάθεια (CVE-2019-18634), το οποίο σας επιτρέπει να αυξήσετε τα προνόμιά σας στο σύστημα στον χρήστη root. Το πρόβλημα εμφανίζεται μόνο από την κυκλοφορία του sudo 1.7.1 όταν χρησιμοποιείται η επιλογή "pwfeedback" στο αρχείο /etc/sudoers, η οποία είναι απενεργοποιημένη από προεπιλογή αλλά ενεργοποιημένη σε ορισμένες διανομές όπως το Linux Mint και το Elementary OS. Το πρόβλημα διορθώθηκε στην έκδοση sudo 1.8.31, που δημοσιεύτηκε πριν από λίγες ώρες. Η ευπάθεια παραμένει αδιόρθωση στα κιτ διανομής.

Η επιλογή "pwfeedback" επιτρέπει την εμφάνιση του χαρακτήρα "*" μετά από κάθε χαρακτήρα που εισάγετε κατά την εισαγωγή ενός κωδικού πρόσβασης. Εξαιτίας Λάθη Κατά την υλοποίηση της συνάρτησης getln(), που ορίζεται στο αρχείο tgetpass.c, μια πολύ μεγάλη συμβολοσειρά κωδικού πρόσβασης που μεταβιβάζεται μέσω της τυπικής ροής εισόδου (stdin) υπό ορισμένες συνθήκες ενδέχεται να μην χωράει στο εκχωρημένο buffer και να αντικαταστήσει άλλα δεδομένα στη στοίβα. Η υπερχείλιση εμφανίζεται όταν εκτελείται ο κώδικας sudo ως root.

Η ουσία του προβλήματος είναι ότι όταν χρησιμοποιείτε τον ειδικό χαρακτήρα ^U (εκκαθάριση γραμμής) κατά την εισαγωγή και εάν η λειτουργία εγγραφής αποτύχει, ο κωδικός που είναι υπεύθυνος για την εκκαθάριση των χαρακτήρων εξόδου "*" επαναφέρει τα δεδομένα στο διαθέσιμο μέγεθος buffer, αλλά δεν επιστρέψτε τον δείκτη στην αρχική τιμή τρέχουσα θέση στο buffer. Ένας άλλος παράγοντας που συμβάλλει στην εκμετάλλευση είναι η έλλειψη αυτόματης απενεργοποίησης της λειτουργίας "pwfeedback" όταν τα δεδομένα φτάνουν όχι από το τερματικό, αλλά μέσω της ροής εισόδου (αυτό το ελάττωμα επιτρέπει τη δημιουργία συνθηκών για την εμφάνιση σφάλματος εγγραφής, για παράδειγμα, σε συστήματα με μονής κατεύθυνσης ανώνυμα κανάλια παρουσιάζεται ένα σφάλμα κατά την προσπάθεια εγγραφής στο τέλος ενός καναλιού ανάγνωσης).

Δεδομένου ότι ένας εισβολέας έχει τον απόλυτο έλεγχο της αντικατάστασης δεδομένων στη στοίβα, δεν είναι δύσκολο να δημιουργήσει ένα exploit που του επιτρέπει να κλιμακώσει τα προνόμιά του στο root. Το πρόβλημα μπορεί να εκμεταλλευτεί οποιοσδήποτε χρήστης, ανεξάρτητα από τις άδειες sudo ή τις συγκεκριμένες ρυθμίσεις του χρήστη στα sudoers. Για να αποκλείσετε το πρόβλημα, θα πρέπει να βεβαιωθείτε ότι δεν υπάρχει ρύθμιση "pwfeedback" στο /etc/sudoers και, εάν χρειάζεται, να την απενεργοποιήσετε ("Προεπιλογές !pwfeedback"). Για να ελέγξετε εάν υπάρχει πρόβλημα, μπορείτε να εκτελέσετε τον κώδικα:

$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Κωδικός πρόσβασης: Σφάλμα τμηματοποίησης

Πηγή: opennet.ru

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