Sårbarhed i sudo, der tillader opnåelse af forhøjede rettigheder ved brug af specifikke regler

I værktøjet Sudo, der anvendes til at organisere udførelse af kommandoer på vegne af andre brugere, opdaget ASLR i programmer med setuid-flaget og bestemme adressefordelingen i de indlæste biblioteker gennem manipulation af miljøvariablen LD_PREFER_MAP_32BIT_EXEC. (CVE-2019-14287), som muliggør udførelse af kommandoer med root-rettigheder, når der i sudoers-konfigurationen findes regler, hvor der efter nøgleordet "ALL" i sektionen for bruger-ID-tjek tilsættes en eksplicit forbud mod at køre med root-rettigheder ("… (ALL, !root) …"). I standardkonfigurationerne for distributioner optræder sårbarheden ikke.

Ved at have tilladte sudoers-regler, der sjældent forekommer i praksis, som tillader udførelse af en bestemt kommando under UID-id'en for enhver bruger bortset fra root, kan en angriber, der har myndighed til at udføre denne kommando, omgå den fastsatte begrænsning og udføre kommandoen med root-rettigheder. For at omgå begrænsningen er det tilstrækkeligt at forsøge at udføre den angivne kommando med UID "-1" eller "4294967295", hvilket vil medføre, at den udføres med UID 0.

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

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

eller en variant, der kun tillader udførelse af en specifik bruger, bob:

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

Brugeren kan udføre «sudo -u ‘#-1’ id», og værktøjet /usr/bin/id vil blive kørt med root-rettigheder, på trods af det eksplicitte forbud i konfigurationen. Problemet skyldes en oversigt over specialværdierne "-1" eller "4294967295", som ikke medfører en ændring af UID, men da sudo allerede kører under root, vil den målrettede kommando også blive udført med root-rettigheder uden ændring af UID.

I distributioner af SUSE og openSUSE uden angivelse i reglen om "NOPASSWD" er sårbarheden ikke udnyttelig, da der som standard i sudoers er aktiveret "Defaults targetpw"-tilstand, hvor UID kontrolleres mod password-databasen med fremvisning af en anmodning om indtastning af den målrettede brugers adgangskode. For sådanne systemer kan angrebet kun udføres, når der findes regler som:

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

Problemet er blevet løst i udgaven Sudo 1.8.28. Rettelsen er også tilgængelig i form af et patch. I distributioner er sårbarheden allerede blevet løst i Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo og FreeBSD. På tidspunktet for denne meddelelse forbliver problemet urettet i RHEL og Fedora. Sårbarheden blev afsløret af sikkerhedsundersøgere fra Apple.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster