A segédprogramban
A „pwfeedback” opció lehetővé teszi a „*” karakter megjelenítését minden beírt karakter után, amikor jelszót ír be. Mert
A probléma lényege, hogy a ^U speciális karakter használatakor (sortörlés) a bevitel során és az írási művelet sikertelensége esetén a kimeneti „*” karakterek törléséért felelős kód visszaállítja az adatokat a rendelkezésre álló pufferméretre, de nem. vissza a mutatót a kezdeti érték aktuális pozíciójába a pufferben. A kiaknázást elősegítő másik tényező a „pwfeedback” mód automatikus letiltásának hiánya, amikor az adatok nem a terminálról, hanem a bemeneti adatfolyamon keresztül érkeznek (ez a hiba lehetővé teszi, hogy feltételeket teremtsen a rögzítési hiba előfordulásához, pl. egyirányú
Mivel a támadó teljes mértékben felügyeli az adatok felülírását a veremben, nem nehéz olyan exploitot létrehozni, amely lehetővé teszi számára, hogy a root jogosultságait továbbítsa. A problémát bármely felhasználó kihasználhatja, függetlenül a sudo jogosultságoktól vagy a sudoerek felhasználóspecifikus beállításaitól. A probléma blokkolásához győződjön meg arról, hogy az /etc/sudoers fájlban nincs „pwfeedback” beállítás, és ha szükséges, tiltsa le (“Alapértelmezett !pwfeedback”). Ha ellenőrizni szeretné, hogy van-e probléma, futtassa a kódot:
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Jelszó: Szegmentációs hiba
Forrás: opennet.ru