A sudo sebezhetősége, amely lehetővé teszi a jogosultságok kiterjesztését meghatározott szabályok használatakor

A segédprogramban sudo, a parancsok végrehajtásának megszervezésére szolgál más felhasználók nevében, azonosított sebezhetőség (CVE-2019 14287-), amely lehetővé teszi a parancsok root jogokkal történő végrehajtását, ha a sudoers beállításaiban vannak olyan szabályok, amelyekben a felhasználói azonosító ellenőrzési szakaszában az „ALL” kulcsszó után kifejezetten tiltják a root jogokkal való futtatást („... (ALL, !root) ..." ). A sérülékenység nem jelenik meg a disztribúciók alapértelmezett konfigurációiban.

Ha a sudoers érvényes, de a gyakorlatban rendkívül ritka szabályokkal rendelkezik, amelyek lehetővé teszik egy adott parancs végrehajtását a root felhasználótól eltérő bármely felhasználó UID-je alatt, akkor a parancs végrehajtására jogosult támadó megkerülheti a beállított korlátozást, és végrehajthatja a parancsot root jogok. A korlátozás megkerüléséhez próbálja meg végrehajtani a beállításokban megadott „-1” vagy „4294967295” UID parancsot, amely a 0 UID-vel való végrehajtáshoz vezet.

Például, ha van egy szabály a beállításokban, amely bármely felhasználónak jogot ad a /usr/bin/id program futtatására bármely UID alatt:

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

vagy egy beállítás, amely csak egy adott felhasználó bob számára engedélyezi a végrehajtást:

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

A felhasználó végrehajthatja a „sudo -u '#-1' id” parancsot, és a /usr/bin/id segédprogram rootként indul el, annak ellenére, hogy a beállítások kifejezetten tiltják. A problémát a „-1” vagy „4294967295” speciális értékek figyelmen kívül hagyása okozza, amelyek nem vezetnek az UID változásához, de mivel maga a sudo már rootként fut, az UID megváltoztatása nélkül, a célparancs is root jogokkal indult el.

A SUSE és az openSUSE disztribúciókban a „NOPASSWD” szabályban történő megadása nélkül egy biztonsági rés található nem kihasználható, mivel a sudoer-ben a „Defaults targetpw” mód alapértelmezés szerint engedélyezve van, amely ellenőrzi az UID-t a jelszóadatbázisban, és kéri a célfelhasználó jelszavának megadását. Az ilyen rendszerek esetében a támadás csak akkor hajtható végre, ha megvannak a következő szabályok:

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

A probléma a kiadásban javítva Sudo 1.8.28. A javítás űrlapon is elérhető tapasz. A terjesztési készletekben a biztonsági rést már javították Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. A cikk írásakor a probléma megoldatlan maradt RHEL и Fedora. A sérülékenységet az Apple biztonsági kutatói azonosították.

Forrás: opennet.ru

Hozzászólás