Na utilidade
A opção “pwfeedback” permite a exibição do caracter “*” após cada caracter inserido ao inserir uma senha. Por causa de
A essência do problema é que ao usar o caractere especial ^U (limpeza de linha) durante a entrada e se a operação de gravação falhar, o código responsável por limpar os caracteres “*” de saída redefine os dados no tamanho do buffer disponível, mas não retornar o ponteiro para a posição atual do valor inicial no buffer. Outro factor que contribui para a exploração é a falta de desactivação automática do modo “pwfeedback” quando os dados chegam não do terminal, mas através do fluxo de entrada (esta falha permite criar condições para que ocorra um erro de gravação, por exemplo, em sistemas com unidirecional
Como um invasor tem controle total sobre a substituição de dados na pilha, não é difícil criar uma exploração que lhe permita escalar seus privilégios para root. O problema pode ser explorado por qualquer usuário, independentemente das permissões do sudo ou das configurações específicas do usuário nos sudoers. Para bloquear o problema, você deve certificar-se de que não há configuração “pwfeedback” em /etc/sudoers e, se necessário, desativá-la (“Defaults !pwfeedback”). Para verificar se há algum problema, você pode executar o código:
$ perl -e 'imprimir(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Senha: falha de segmentação
Fonte: opennet.ru