Di utilitas
Opsi “pwfeedback” memungkinkan tampilan karakter “*” setelah setiap karakter yang dimasukkan saat memasukkan kata sandi. Karena
Inti masalahnya adalah ketika menggunakan karakter khusus ^U (penghapusan baris) selama input dan jika operasi penulisan gagal, kode yang bertanggung jawab untuk menghapus karakter "*" pada output akan mengatur ulang data pada ukuran buffer yang tersedia, tetapi tidak mengembalikan penunjuk ke nilai awal posisi saat ini di buffer. Faktor lain yang berkontribusi terhadap eksploitasi adalah kurangnya penonaktifan otomatis mode "pwfeedback" ketika data datang bukan dari terminal, tetapi melalui aliran input (kelemahan ini memungkinkan terciptanya kondisi untuk terjadinya kesalahan perekaman, misalnya, pada sistem dengan searah
Karena penyerang memiliki kendali penuh atas penimpaan data di tumpukan, tidak sulit untuk membuat eksploitasi yang memungkinkan dia meningkatkan hak istimewanya untuk melakukan root. Masalahnya dapat dieksploitasi oleh pengguna mana pun, terlepas dari izin sudo atau pengaturan khusus pengguna di sudoers. Untuk memblokir masalah, Anda harus memastikan bahwa tidak ada pengaturan “pwfeedback” di /etc/sudoers dan, jika perlu, nonaktifkan (“Defaults !pwfeedback”). Untuk memeriksa apakah ada masalah, Anda dapat menjalankan kode:
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -Sid
Kata sandi: Kesalahan segmentasi
Sumber: opennet.ru