Sårbarhet i sudo som tillater rettighetseskalering ved bruk av spesifikke regler

I verktøyet sudo, brukes til å organisere utførelse av kommandoer på vegne av andre brukere, identifisert sårbarhet (CVE-2019-14287), som lar deg utføre kommandoer med root-rettigheter, hvis det er regler i sudoers-innstillingene der det i bruker-ID-sjekkdelen etter det tillate nøkkelordet "ALL" er et eksplisitt forbud mot å kjøre med rotrettigheter ("... (ALLE, !root) ..." ). Sårbarheten vises ikke i standardkonfigurasjoner i distribusjoner.

Hvis sudoers har gyldige, men ekstremt sjeldne i praksis, regler som tillater utførelse av en bestemt kommando under UID til en hvilken som helst annen bruker enn root, kan en angriper som har autoritet til å utføre denne kommandoen omgå den etablerte begrensningen og utføre kommandoen med rotrettigheter. For å omgå begrensningen, prøv bare å utføre kommandoen spesifisert i innstillingene med UID "-1" eller "4294967295", som vil føre til utførelse med UID 0.

For eksempel, hvis det er en regel i innstillingene som gir enhver bruker rett til å kjøre programmet /usr/bin/id under en hvilken som helst UID:

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

eller et alternativ som bare tillater kjøring for en spesifikk brukerbob:

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

Brukeren kan kjøre "sudo -u '#-1' id" og /usr/bin/id-verktøyet vil bli lansert som root, til tross for det eksplisitte forbudet i innstillingene. Problemet er forårsaket av å overse de spesielle verdiene "-1" eller "4294967295", som ikke fører til en endring i UID, men siden sudo selv allerede kjører som root, uten å endre UID, er målkommandoen også lansert med rotrettigheter.

I SUSE- og openSUSE-distribusjoner, uten å spesifisere "NOPASSWD" i regelen, er det en sårbarhet ikke utnyttes, siden i sudoers er "Defaults targetpw"-modusen aktivert som standard, som sjekker UID mot passorddatabasen og ber deg angi målbrukerens passord. For slike systemer kan et angrep bare utføres hvis det er regler av formen:

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

Problemet løst i utgivelsen Sudo 1.8.28. Rettelsen er også tilgjengelig i skjemaet lapp. I distribusjonssett er sårbarheten allerede rettet inn Debian, Arch Linux, SUSE / openSUSE, Ubuntu, Gentoo и FreeBSD. I skrivende stund forblir problemet uløst RHEL и Fedora. Sårbarheten ble identifisert av sikkerhetsforskere fra Apple.

Kilde: opennet.ru

Legg til en kommentar