Root-sebezhetőség a sudo-ban, amely a Linux Mint és az Elementary OS-t érinti

A segédprogramban sudo, amelyet arra használnak, hogy más felhasználók nevében parancsokat hajtsanak végre, identified vulnerability (CVE-2019-18634), lehetővé téve a rendszeren való jogosultságaink növelését root felhasználói szintre. A probléma a sudo 1.7.1 kiadásától kezdődően jelentkezik, csak akkor, amikor az /etc/sudoers fájlban a "pwfeedback" opciót használják, amely alapértelmezetten ki van kapcsolva, de egyes disztribúciókban, mint például a Linux Mint és az Elementary OS, be van kapcsolva. A probléma az alábbi kiadásban javítva lett, sudo 1.8.31, amelyet néhány órával ezelőtt tettek közzé. A disztribúciókban a sérülékenység egyelőre javítatlan marad.

A "pwfeedback" opció aktiválja a "*" karakter megjelenítését minden egyes beírt karakter után a jelszó megadásakor. Ennek következtében hiba a getln() függvény megvalósításában, amely a tgetpass.c fájlban található, a standard bemeneten (stdin) keresztül megadott túl hosszú jelszó sor bizonyos körülmények között nem fér el a lefoglalt pufferen, és más adatokat írhat felül a veremben. A túlcsordulás a sudo kód root jogosultságaival történő végrehajtása során lép fel.

A probléma lényege, hogy a speciális karakter, a ^U (sor törlése) használata során, és a write operációs hiba esetén a "*" karakterek törléséért felelős kód visszaállítja a puffer elérhető méretéről szóló adatokat, de nem állítja vissza a pufferben lévő aktuális pozícióra mutató mutatót. Egy másik tényező, amely hozzájárul a kihasználáshoz, az a "pwfeedback" mód automatikus kikapcsolásának hiánya, amikor a bemenet nem terminálból érkezik, hanem bemeneti áramlás (ez a hiányosság lehetővé teszi az írási hiba kialakulásának feltételeit, például egyirányú névtelen csatornákon a hiba akkor lép fel, amikor a kiolvasás végén próbálkozunk írni).

Mivel a támadó teljes mértékben kontrollálja az adatok felülírását a veremben, nem nehéz olyan exploitot létrehozni, amely lehetővé teszi a jogosultságok root felhasználói szintre emelését. A probléma bármely felhasználó által kihasználható, függetlenül a sudo használati jogaitól és a felhasználóra vonatkozó sudoers beállításoktól. A probléma blokkolásához győződjön meg arról, hogy az /etc/sudoers fájlban nincs "pwfeedback" beállítás, és ha szükséges, kapcsolja ki azt ("Defaults !pwfeedback"). A probléma meglétének ellenőrzéséhez futtatható a következő kód:

$ perl -e ‘print(("A" x 100 . "\x{00}") x 50)’ | sudo -S id
Jelszó: Szegmentációs hiba

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster