Sudon haavoittuvuus, joka mahdollistaa oikeuksien eskaloinnin tiettyjä sääntöjä käytettäessä

Apuohjelmassa sudo, jota käytetään järjestämään komentojen suorittaminen muiden käyttäjien puolesta, tunnistettu haavoittuvuus (CVE-2019-14287), jonka avulla voit suorittaa komentoja pääkäyttäjän oikeuksilla, jos sudoers-asetuksissa on sääntöjä, joissa käyttäjätunnuksen tarkistusosiossa sallivan avainsanan "ALL" jälkeen on nimenomainen kielto suorittaa pääkäyttäjän oikeuksilla ("... (KAIKKI, !juuri) ..." ). Haavoittuvuus ei esiinny jakelujen oletuskokoonpanoissa.

Jos sudoersilla on voimassa olevat, mutta käytännössä erittäin harvinaiset säännöt, jotka sallivat tietyn komennon suorittamisen minkä tahansa muun käyttäjän kuin pääkäyttäjän UID-tunnuksella, hyökkääjä, jolla on valtuudet suorittaa tämä komento, voi ohittaa määritetyn rajoituksen ja suorittaa komennon juurioikeudet. Voit ohittaa rajoituksen yrittämällä suorittaa asetuksissa määritetty komento UID:llä "-1" tai "4294967295", mikä johtaa sen suorittamiseen UID 0:lla.

Jos esimerkiksi asetuksissa on sääntö, joka antaa kenelle tahansa käyttäjälle oikeuden suorittaa ohjelman /usr/bin/id millä tahansa UID:llä:

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

tai vaihtoehto, joka sallii suorittamisen vain tietylle käyttäjälle bob:

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

Käyttäjä voi suorittaa komennon "sudo -u '#-1' id" ja /usr/bin/id-apuohjelma käynnistetään pääkäyttäjänä huolimatta asetuksista nimenomaisesta kiellosta. Ongelma johtuu erikoisarvojen "-1" tai "4294967295" huomiotta jättämisestä, jotka eivät johda UID:n muutokseen, mutta koska itse sudo on jo käynnissä pääkäyttäjänä, UID:tä muuttamatta, kohdekomento on myös käynnistetty pääkäyttäjän oikeuksilla.

SUSE- ja openSUSE-jakeluissa on haavoittuvuus ilman, että säännössä määritellään NOPASSWD ei hyödynnettävissä, koska sudoereissa "Defaults targetpw" -tila on oletusarvoisesti käytössä, mikä vertaa UID:n salasanatietokantaan ja pyytää sinua syöttämään kohdekäyttäjän salasanan. Tällaisissa järjestelmissä hyökkäys voidaan suorittaa vain, jos on olemassa seuraavanlaisia ​​sääntöjä:

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

Ongelma korjattu julkaisussa Sudo 1.8.28. Korjaus on saatavilla myös lomakkeella laastari. Jakelupakkauksissa haavoittuvuus on jo korjattu Debian, Arch Linux, SUSE / openSUSE, Ubuntu, Gentoo и FreeBSD. Kirjoitushetkellä ongelma on edelleen ratkaisematta RHEL и Fedora. Applen tietoturvatutkijat tunnistivat haavoittuvuuden.

Lähde: opennet.ru

Lisää kommentti