V obslužném programu
Možnost „pwfeedback“ umožňuje zobrazení znaku „*“ za každým zadaným znakem při zadávání hesla. Kvůli
Podstatou problému je, že při použití speciálního znaku ^U (vymazání řádku) během vstupu a pokud operace zápisu selže, kód zodpovědný za vymazání výstupních znaků „*“ resetuje data o dostupné velikosti vyrovnávací paměti, ale ne vraťte ukazatel na aktuální pozici počáteční hodnoty ve vyrovnávací paměti. Dalším faktorem přispívajícím k využití je absence automatického vypnutí režimu „pwfeedback“, když data nepřicházejí z terminálu, ale prostřednictvím vstupního toku (tato chyba umožňuje vytvářet podmínky pro to, aby došlo k chybě záznamu, například na systémech s jednosměrný
Vzhledem k tomu, že útočník má úplnou kontrolu nad přepisováním dat na zásobníku, není obtížné vytvořit exploit, který mu umožní eskalovat jeho oprávnění na root. Problém může zneužít kterýkoli uživatel, bez ohledu na oprávnění sudo nebo nastavení specifická pro uživatele v sudoers. Chcete-li problém zablokovat, měli byste se ujistit, že v /etc/sudoers není žádné nastavení „pwfeedback“, a pokud je to nutné, zakázat jej („Výchozí !pwfeedback“). Chcete-li zkontrolovat, zda došlo k problému, můžete spustit kód:
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Heslo: Chyba segmentace
Zdroj: opennet.ru