Dalam utiliti
Pilihan "pwfeedback" membolehkan paparan aksara "*" selepas setiap aksara yang dimasukkan apabila memasukkan kata laluan. Disebabkan
Intipati masalahnya ialah apabila menggunakan aksara khas ^U (pembersihan baris) semasa input dan jika operasi tulis gagal, kod yang bertanggungjawab untuk mengosongkan aksara "*" output menetapkan semula data pada saiz penimbal yang tersedia, tetapi tidak kembalikan penunjuk ke kedudukan semasa nilai awal dalam penimbal. Faktor lain yang menyumbang kepada eksploitasi ialah kekurangan pelumpuhan automatik mod "pwfeedback" apabila data tiba bukan dari terminal, tetapi melalui aliran input (kecacatan ini membolehkan mewujudkan keadaan untuk ralat rakaman berlaku, contohnya, pada sistem dengan satu arah
Memandangkan penyerang mempunyai kawalan penuh ke atas penggantian data pada timbunan, tidak sukar untuk mencipta eksploitasi yang membolehkannya meningkatkan keistimewaannya untuk mengakar. Masalahnya boleh dieksploitasi oleh mana-mana pengguna, tanpa mengira kebenaran sudo atau tetapan khusus pengguna dalam sudoers. Untuk menyekat masalah, anda harus memastikan bahawa tiada tetapan "pwfeedback" dalam /etc/sudoers dan, jika perlu, lumpuhkannya ("Defaults !pwfeedback"). Untuk menyemak sama ada terdapat masalah, anda boleh menjalankan kod:
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Kata laluan: Kesalahan pembahagian
Sumber: opennet.ru