V utilitě , používané na organizování vykonávání příkazů jménem jiných uživatelů, (), která umožňuje dosáhnout vykonávání příkazů s právy root, za předpokladu, že v nastavení sudoers jsou pravidla, kde v sekci kontroly identifikátoru uživatele za povolujícím klíčovým slovem „ALL“ následuje výslovný zákaz spuštění s právy root („… (ALL, !root) …“). Ve výchozích konfiguracích v distribucích se zranitelnost neprojevuje.
Pokud existují v sudoers povolené, ale vysoce vzácně se v praxi vyskytující pravidla, která umožňují vykonání určitého příkazu pod UID identifikátorem jakéhokoli uživatele kromě root, útočník, který má oprávnění vykonat tento příkaz, může obejít nastavené omezení a vykonat příkaz s právy root. K obcházení omezení stačí pokusit se provést daný v nastavení uvedený příkaz s UID „-1“ nebo „4294967295“, což povede k jeho vykonání s UID 0.
Například, pokud v nastavení existuje pravidlo, které dává každému uživateli právo na vykonání programu /usr/bin/id pod jakýmkoli UID:
myhost ALL = (ALL, !root) /usr/bin/id
nebo varianta, která povoluje vykonání pouze konkrétnímu uživateli bob:
myhost bob = (ALL, !root) /usr/bin/id
Uživatel může vykonat „sudo -u ‘#-1’ id“ a utilita /usr/bin/id bude spuštěna s právy root, ačkoliv je v nastavení výslovný zákaz. Problém je způsoben opomenutím speciálních hodnot „-1“ nebo „4294967295“, které nevedou ke změně UID, ale protože sám sudo již běží jako root, cílový příkaz se tedy také spouští s právy root bez změny UID.
V distribučních systémech SUSE a openSUSE bez uvedení v pravidle „NOPASSWD“ je zranitelnost , neboť v sudoers je ve výchozím nastavení zahrnuto režim „Defaults targetpw“, při kterém dochází k kontrole UID podle databáze hesel s výstupem požadavku na zadání hesla cílového uživatele. Pro tyto systémy může být útok proveden pouze za přítomnosti pravidel typu:
myhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id
Problém byl odstraněn ve vydání . Oprava je také dostupná ve formě . V distribučních systémech byla zranitelnost již odstraněna v , , , , a . V době psaní zprávy problém zůstává neopravený v a . Zranitelnost byla zjištěna bezpečnostními výzkumníky z společnosti Apple.
Zdroj: opennet.ru
