Στο βοηθητικό
Η επιλογή "pwfeedback" επιτρέπει την εμφάνιση του χαρακτήρα "*" μετά από κάθε χαρακτήρα που εισάγετε κατά την εισαγωγή ενός κωδικού πρόσβασης. Εξαιτίας
Η ουσία του προβλήματος είναι ότι όταν χρησιμοποιείτε τον ειδικό χαρακτήρα ^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