V obslužném programu
Pokud má sudoers platná, ale v praxi extrémně vzácná pravidla, která umožňují provedení určitého příkazu pod UID jiného uživatele než root, může útočník, který má oprávnění tento příkaz provést, obejít zavedené omezení a provést příkaz pomocí root práva. Chcete-li obejít omezení, zkuste provést příkaz uvedený v nastavení s UID „-1“ nebo „4294967295“, což povede k jeho provedení s UID 0.
Pokud je například v nastavení pravidlo, které dává kterémukoli uživateli právo spustit program /usr/bin/id pod jakýmkoli UID:
myhost ALL = (ALL, !root) /usr/bin/id
nebo možnost, která umožňuje spuštění pouze pro konkrétního uživatele bob:
myhost bob = (ALL, !root) /usr/bin/id
Uživatel může spustit „sudo -u ‚#-1‘ id“ a obslužný program /usr/bin/id bude spuštěn s právy root, navzdory výslovnému zákazu v nastavení. Problém je způsoben přehlédnutím speciálních hodnot „-1“ nebo „4294967295“, které nevedou ke změně UID, ale protože samotné sudo již běží jako root, bez změny UID, cílový příkaz je také spuštěn s právy root.
V distribucích SUSE a openSUSE bez určení „NOPASSWD“ v pravidle existuje zranitelnost
myhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id
Problém opraven ve verzi
Zdroj: opennet.ru