Sårbarhed i sudo, der tillader privilegieeskalering ved brug af specifikke regler

I værktøjet sudo, bruges til at organisere udførelsen af ​​kommandoer på vegne af andre brugere, identificeret sårbarhed (CVE-2019-14287), som giver dig mulighed for at udføre kommandoer med root-rettigheder, hvis der er regler i sudoers-indstillingerne, hvor der i bruger-id-kontrolsektionen efter det tillade nøgleord "ALL" er et eksplicit forbud mod at køre med root-rettigheder ("... (ALLE, !rod) ..." ). Sårbarheden vises ikke i standardkonfigurationer i distributioner.

Hvis sudoers har gyldige, men ekstremt sjældne i praksis, regler, der tillader udførelse af en bestemt kommando under UID af enhver anden bruger end root, kan en angriber, der har autoritet til at udføre denne kommando, omgå den etablerede begrænsning og udføre kommandoen med rodrettigheder. For at omgå begrænsningen skal du bare prøve at udføre kommandoen angivet i indstillingerne med UID "-1" eller "4294967295", hvilket vil føre til dens udførelse med UID 0.

For eksempel, hvis der er en regel i indstillingerne, der giver enhver bruger ret til at udføre programmet /usr/bin/id under ethvert UID:

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

eller en mulighed, der kun tillader udførelse for en specifik bruger bob:

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

Brugeren kan udføre "sudo -u '#-1' id", og /usr/bin/id-værktøjet vil blive lanceret som root, på trods af det eksplicitte forbud i indstillingerne. Problemet er forårsaget af at overse de specielle værdier "-1" eller "4294967295", som ikke fører til en ændring i UID, men da sudo selv allerede kører som root, uden at ændre UID, er målkommandoen også lanceret med root-rettigheder.

I SUSE- og openSUSE-distributioner, uden at angive "NOPASSWD" i reglen, er der en sårbarhed ikke kan udnyttes, da "Defaults targetpw"-tilstanden i sudoers er aktiveret som standard, som kontrollerer UID'et mod adgangskodedatabasen og beder dig om at indtaste målbrugerens adgangskode. For sådanne systemer kan et angreb kun udføres, hvis der er regler af formen:

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

Problem rettet i udgivelsen Sudo 1.8.28. Rettelsen er også tilgængelig i formularen lappe. I distributionssæt er sårbarheden allerede rettet ind Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. I skrivende stund forbliver problemet uløst i RHEL и Fedora. Sårbarheden blev identificeret af sikkerhedsforskere fra Apple.

Kilde: opennet.ru

Tilføj en kommentar