Yardımcı programda
“pwfeedback” seçeneği, şifre girerken girilen her karakterden sonra “*” karakterinin görüntülenmesini sağlar. yüzünden
Sorunun özü, giriş sırasında ^U (satır temizleme) özel karakterini kullanırken ve yazma işlemi başarısız olursa, çıkış "*" karakterlerini temizlemekten sorumlu kodun mevcut arabellek boyutundaki verileri sıfırlamasıdır, ancak işaretçiyi arabellekteki başlangıç değeri geçerli konumuna döndürür. Kötüye kullanıma katkıda bulunan bir diğer faktör, veriler terminalden değil de giriş akışı yoluyla geldiğinde "pwfeedback" modunun otomatik olarak devre dışı bırakılmamasıdır (bu kusur, örneğin, tek yönlü
Saldırganın yığındaki verilerin üzerine yazılması üzerinde tam kontrolü olduğundan, ayrıcalıklarını root'a yükseltmesine olanak tanıyan bir istismar oluşturmak zor değildir. Sorun, sudo izinlerine veya sudoer'lardaki kullanıcıya özel ayarlara bakılmaksızın herhangi bir kullanıcı tarafından kullanılabilir. Sorunu engellemek için /etc/sudoers dosyasında “pwfeedback” ayarının olmadığından emin olmalı ve gerekirse devre dışı bırakmalısınız (“Varsayılanlar !pwfeedback”). Bir sorun olup olmadığını kontrol etmek için kodu çalıştırabilirsiniz:
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S kimliği
Şifre: Segmentasyon hatası
Kaynak: opennet.ru