Hlavní navigace

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

4. 2. 2020

Sdílet

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?
  • Aktualita je stará, nové názory již nelze přidávat.

Byl pro vás článek přínosný?

Autor zprávičky

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.