Kwetsbaarheid in sudo die escalatie van bevoegdheden mogelijk maakt bij gebruik van specifieke regels

In het hulpprogramma sudo, gebruikt om de uitvoering van opdrachten namens andere gebruikers te organiseren, geïdentificeerd kwetsbaarheid (CVE-2019-14287), waarmee u opdrachten met rootrechten kunt uitvoeren, als er regels zijn in de sudoers-instellingen waarin in de sectie voor gebruikers-ID-controle na het toegestane sleutelwoord “ALL” een expliciet verbod geldt om met rootrechten te werken (“... (ALLE, !root) ..." ). Het beveiligingslek komt niet voor in standaardconfiguraties in distributies.

Als sudoers geldige, maar in de praktijk uiterst zeldzame regels hebben die de uitvoering van een bepaald commando onder de UID van een andere gebruiker dan root mogelijk maken, kan een aanvaller die de bevoegdheid heeft om dit commando uit te voeren, de vastgestelde beperking omzeilen en het commando uitvoeren met wortelrechten. Om de beperking te omzeilen, probeert u gewoon de opdracht uit te voeren die is opgegeven in de instellingen met UID “-1” of “4294967295”, wat zal leiden tot uitvoering ervan met UID 0.

Als er bijvoorbeeld een regel in de instellingen is die elke gebruiker het recht geeft om het programma /usr/bin/id onder elke UID uit te voeren:

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

of een optie die uitvoering alleen toestaat voor een specifieke gebruikersbob:

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

De gebruiker kan “sudo -u '#-1' id” uitvoeren en het hulpprogramma /usr/bin/id zal als root worden gestart, ondanks het expliciete verbod in de instellingen. Het probleem wordt veroorzaakt door het over het hoofd zien van de speciale waarden “-1” of “4294967295”, die niet leiden tot een wijziging in de UID, maar aangezien sudo zelf al als root draait, zonder de UID te wijzigen, wordt het doelcommando ook gelanceerd met rootrechten.

In SUSE- en openSUSE-distributies is er, zonder “NOPASSWD” in de regel op te geven, sprake van een kwetsbaarheid niet exploiteerbaar, omdat in sudoers standaard de modus "Defaults targetpw" is ingeschakeld, die de UID vergelijkt met de wachtwoorddatabase en u wordt gevraagd het wachtwoord van de doelgebruiker in te voeren. Voor dergelijke systemen kan een aanval alleen worden uitgevoerd als er regels zijn in de vorm van:

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

Probleem opgelost in release Sudo 1.8.28. De oplossing is ook beschikbaar in de vorm lapje. In distributiekits is de kwetsbaarheid al verholpen Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. Op het moment van schrijven is het probleem nog steeds niet opgelost RHEL и Fedora. Het beveiligingslek is ontdekt door beveiligingsonderzoekers van Apple.

Bron: opennet.ru

Voeg een reactie