Chyba zabezpečení v sudo, která umožňuje eskalaci oprávnění při použití specifických pravidel

V obslužném programu Sudo, který se používá k organizaci provádění příkazů jménem jiných uživatelů, identifikované zranitelnost (CVE-2019-14287), který umožňuje spouštět příkazy s právy root, pokud jsou v nastavení sudoers pravidla, ve kterých je v sekci Kontrola ID uživatele za povolovacím klíčovým slovem „ALL“ výslovný zákaz spouštění s právy root („... (VŠE, !kořen) ... "). Tato chyba zabezpečení se neobjevuje ve výchozích konfiguracích v distribucích.

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 není zneužitelný, protože v sudoers je ve výchozím nastavení povolen režim „Defaults targetpw“, který porovná UID s databází hesel a vyzve vás k zadání hesla cílového uživatele. U takových systémů lze útok provést pouze v případě, že existují pravidla formuláře:

myhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id

Problém opraven ve verzi Sudo 1.8.28. Oprava je k dispozici také ve formuláři náplast. V distribučních sadách již byla chyba zabezpečení opravena Debian, Arch Linux, SUSE/openSUSE, ubuntu, Gentoo и FreeBSD. V době psaní tohoto článku zůstává problém nevyřešen RHEL и Fedora. Zranitelnost byla identifikována bezpečnostními výzkumníky společnosti Apple.

Zdroj: opennet.ru

Přidat komentář