A la utilitat
L'opció "pwfeedback" permet mostrar el caràcter "*" després de cada caràcter introduït quan s'introdueix una contrasenya. Per culpa de
L'essència del problema és que quan s'utilitza el caràcter especial ^U (esborrada de línia) durant l'entrada i si l'operació d'escriptura falla, el codi responsable d'esborrar els caràcters "*" de sortida restableix les dades a la mida del buffer disponible, però no ho fa. retorna el punter a la posició actual del valor inicial a la memòria intermèdia. Un altre factor que contribueix a l'explotació és la manca de desactivació automàtica del mode “pwfeedback” quan les dades no arriben des del terminal, sinó a través del flux d'entrada (aquest defecte permet crear condicions perquè es produeixi un error de gravació, per exemple, en sistemes amb unidireccional
Atès que un atacant té un control complet sobre la sobreescritura de dades a la pila, no és difícil crear un exploit que li permeti augmentar els seus privilegis per fer root. Qualsevol usuari pot explotar el problema, independentment dels permisos de sudo o de la configuració específica de l'usuari a sudoers. Per bloquejar el problema, hauríeu d'assegurar-vos que no hi hagi cap configuració de "pwfeedback" a /etc/sudoers i, si cal, desactivar-lo ("Valors per defecte !pwfeedback"). Per comprovar si hi ha cap problema, podeu executar el codi:
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Contrasenya: error de segmentació
Font: opennet.ru