Chyba zabezpečenia v sudo, ktorá umožňuje eskaláciu privilégií pri použití špecifických pravidiel

V obslužnom programe sudo, ktorý sa používa na organizáciu vykonávania príkazov v mene iných používateľov, identifikované zraniteľnosť (CVE-2019 14287,), ktorý vám umožňuje vykonávať príkazy s právami root, ak sú v nastaveniach sudoers pravidlá, v ktorých je v sekcii Kontrola ID používateľa po povoľujúcom kľúčovom slove „ALL“ výslovný zákaz spúšťania s právami root („... (ALL, !root) ...“ ). Zraniteľnosť sa neobjavuje v predvolených konfiguráciách v distribúciách.

Ak má sudoers platné, ale v praxi extrémne zriedkavé pravidlá, ktoré umožňujú vykonanie určitého príkazu pod UID iného používateľa ako root, útočník, ktorý má oprávnenie na vykonanie tohto príkazu, môže obísť zavedené obmedzenie a vykonať príkaz pomocou root práva. Ak chcete obísť obmedzenie, skúste vykonať príkaz uvedený v nastaveniach s UID „-1“ alebo „4294967295“, čo povedie k jeho vykonaniu s UID 0.

Napríklad, ak je v nastaveniach pravidlo, ktoré dáva každému používateľovi právo spustiť program /usr/bin/id pod ľubovoľným UID:

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

alebo možnosť, ktorá umožňuje spustenie iba pre konkrétneho používateľa bob:

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

Používateľ môže spustiť „sudo -u '#-1' id“ a obslužný program /usr/bin/id sa spustí ako root, napriek výslovnému zákazu v nastaveniach. Problém je spôsobený prehliadnutím špeciálnych hodnôt „-1“ alebo „4294967295“, ktoré nevedú k zmene UID, ale keďže samotné sudo už beží ako root, bez zmeny UID, cieľový príkaz je tiež spustený s právami root.

V distribúciách SUSE a openSUSE bez zadania „NOPASSWD“ v pravidle existuje chyba zabezpečenia nie je zneužiteľný, pretože v sudoers je štandardne povolený režim „Predvolené cieľové pw“, ktorý porovná UID s databázou hesiel a vyzve vás na zadanie hesla cieľového používateľa. Pre takéto systémy je možné útok vykonať iba vtedy, ak existujú pravidlá formulára:

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

Problém opravený vo vydaní Sudo 1.8.28. Oprava je dostupná aj vo formulári náplasť. V distribučných súpravách už bola zraniteľnosť opravená debian, Arch Linux, SUSE/openSUSE, ubuntu, gentoo и FreeBSD. V čase písania tohto článku zostáva problém nevyriešený RHEL и Fedora. Zraniteľnosť bola identifikovaná bezpečnostnými výskumníkmi z Apple.

Zdroj: opennet.ru

Pridať komentár