En la utileco
La opcio "pwfeedback" ebligas la montradon de la signo "*" post ĉiu enigita signo dum enigo de pasvorto. Pro
La esenco de la problemo estas, ke kiam oni uzas la specialan signon ^U (linia malplenigo) dum enigo kaj se la skriba operacio malsukcesas, la kodo respondeca por malplenigo de la eligo "*" signoj restarigas la datumojn pri la disponebla bufrograndeco, sed ne faras. redonu la montrilon al la komenca valoro aktuala pozicio en la bufro. Alia faktoro kontribuanta al la ekspluatado estas la manko de aŭtomata malfunkciigo de la "pwfeedback" reĝimo kiam datumoj alvenas ne de la terminalo, sed tra la eniga fluo (ĉi tiu difekto permesas krei kondiĉojn por registra eraro okazi, ekzemple, sur sistemoj kun unudirekta
Ĉar atakanto havas kompletan kontrolon pri datuma anstataŭigo sur la stako, ne estas malfacile krei ekspluataĵon, kiu ebligas al li pligrandigi siajn privilegiojn por radiki. La problemo povas esti ekspluatata de iu ajn uzanto, sendepende de sudo-permesoj aŭ uzantspecifaj agordoj en sudoers. Por bloki la problemon, vi devas certigi, ke ne ekzistas "pwfeedback" agordo en /etc/sudoers kaj, se necese, malŝaltu ĝin ("Defaŭltoj !pwfeedback"). Por kontroli ĉu estas problemo, vi povas ruli la kodon:
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Pasvorto: Segmenta misfunkciado
fonto: opennet.ru