W narzędziu
Jeśli sudoers ma ważne, ale niezwykle rzadkie w praktyce reguły, które pozwalają na wykonanie określonego polecenia pod UID dowolnego użytkownika innego niż root, osoba atakująca mająca uprawnienia do wykonania tego polecenia może ominąć ustalone ograniczenia i wykonać polecenie z prawa roota. Aby ominąć ograniczenie, wystarczy spróbować wykonać polecenie określone w ustawieniach z UID „-1” lub „4294967295”, co doprowadzi do jego wykonania z UID 0.
Przykładowo, jeśli w ustawieniach jest reguła dająca dowolnemu użytkownikowi prawo do uruchomienia programu /usr/bin/id pod dowolnym UID:
mójhost ALL = (ALL, !root) /usr/bin/id
lub opcja umożliwiająca wykonanie tylko dla konkretnego boba użytkownika:
mójhost bob = (ALL, !root) /usr/bin/id
Użytkownik może wykonać polecenie „sudo -u '#-1' id”, a narzędzie /usr/bin/id zostanie uruchomione jako root, pomimo wyraźnego zakazu w ustawieniach. Problem wynika z przeoczenia wartości specjalnych „-1” lub „4294967295”, które nie prowadzą do zmiany UID, ale ponieważ samo Sudo działa już jako root, bez zmiany UID, polecenie docelowe jest również uruchamiany z prawami roota.
W dystrybucjach SUSE i openSUSE, bez określenia w regule „NOPASSWD”, występuje luka
mójhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id
Problem rozwiązany w wydaniu
Źródło: opennet.ru