Hlavní navigace

Chyba v sudo umožňuje neprivilegovaným uživatelům spouštět příkazy jako root

Sdílet

Petr Krčmář
sudo

V utilitě sudo byla objevena zranitelnost, která za určitých okolností dovoluje neprivilegovaným uživatelům spouštět příkazy s právy uživatele root. Chyba je označena jako CVE-2019–18634 a objevil ji Joe Vennix ze společnosti Apple. Problém se týká některých linuxových distribucí a také macOS.

Chyba může být zneužita, jen pokud má utilita zapnutou funkci pwfeedback, která zobrazuje hvězdičky, když uživatel zadává heslo. To není výchozí stav ve většině distribucí, ale třeba Linux Mint či Elementary OS to takhle po instalaci zapnuté mají. V ostatních systémech by musel vlastnost zapnout správce.

Objevená chyba je klasický buffer overflow a do standardního vstupu utility stačí poslat dostatečně dlouhý řetězec. Chyba spočívá především v tom, že by utilita měla pwfeedback ignorovat při načítání hesla ze standardního vstupu. Zároveň ale není správně napsána práce se zásobníkem, takže se při vyvolání chyby sice resetuje zbývající délka, ale už ne ukazatel pozice. Výsledkem je, že funkce getln() zapíše data mimo vyhrazený prostor.

Chyba je opravena ve verzi 1.8.31, ale zneužitelná už nebyla od verze 1.8.26. Jako oprava také poslouží vypnutí vlastnosti pomocí volby Defaults !pwfeedback v /etc/sudoers. Naopak nestačí uživatele vyjmout ze skupiny schopné používat  sudo.

Připomeňme, že v sudo  byla nedávno objevena jiná chyba, která také umožňovala eskalaci privilegií. Uživateli k tomu stačilo nastavit user ID na -1 nebo  4294967295.

(Zdroj: Security Affairs)

Našli jste v článku chybu?
Ochrana proti spamovacím robotům. Odpovězte prosím na následující otázku: Jaký je letos rok?