u Istraživači Qualys-ove sigurnosti prepoznali su kritičnu ranjivost (CVE-2021-3156) u sudo uslužni program, koji je dizajniran za organizaciju izvršavanja naredbi u ime drugih korisnika.
Ranjivost omogućuje neautentificirani pristup s root privilegijama. Problem može koristiti bilo koji korisnik, bez obzira na prisustvo u sistemskim grupama i prisustvo unosa u datoteci / etc / sudoers.
Za napad nije potrebno unos korisničke lozinke, to jest, ranjivost može koristiti vanjska osoba za podizanje privilegija na sistemu nakon što je ranjivost ugrožena u neprivilegiranom procesu (uključujući one pokrenute od korisnika "niko").
Da biste tražili ranjivost na vašem sistemu, jednostavno pokrenite naredbu "sudoedit -s /" i ranjivost je prisutna ako se prikaže poruka o grešci koja počinje sa "sudoedit:".
O ranjivosti
Ranjivost se pojavljuje od jula 2011. godine, a uzrokovana je preljevom međuspremnika u rukovanju linijskim izlaznim znakovima u parametrima namijenjenim izvršavanju naredbi u režimu ljuske. Način ljuske omogućen je specificiranjem argumenata "-i" ili "-s" i uzrokuje da se naredba ne izvršava izravno, već putem dodatnog poziva ljuske s oznakom "-c" ("naredba sh -c»).
Dno crta je da kada se sudo uslužni program normalno pokrene, pobjegne posebnim znakovima navodeći opcije "-i" i "-s", ali kada se pokrene sudoedit uslužni program, parametri se ne izbjegavaju, kao parse_args () Funkcija postavlja varijablu okruženja MODE_EDIT umjesto MODE_SHELL i ne resetira vrijednost "valid_flags".
Zauzvrat, prijenos bez karaktera stvara uvjete da se pojavi još jedna greška u kontroleru, koji uklanja izlazne znakove prije provjere sudoer pravila.
Rukovatelj pogrešno raščlanjuje prisustvo znaka povratne kose crte bez bijega na kraju retka, smatra da ova kosa crtica izbjegava još jedan znak i nastavlja čitati podatke izvan ograničenja linije, kopirajući ih u međuspremnik "user_args" i prepisujući područja memorije izvan međuspremnika.
I spomenuto je da kada pokušava manipulirati vrijednostima u naredbenom retku sudoedit, napadač može postići superpoziciju reda za ponovno upisivanje u podatke koji utječe na daljnji tok rada.
Uz stvaranje exploita, pojednostavljuje činjenicu da napadač ima potpunu kontrolu nad veličinom buffer user_args, koja odgovara veličini svih proslijeđenih argumenata, a također kontrolira veličinu i sadržaj podataka zapisanih izvan međuspremnika koristeći varijable okoline.
Istraživači sigurnosti Qualys uspjeli su pripremiti tri eksploatacije čiji se rad temelji na prepisivanju sadržaja struktura sudo_hook_entry, service_user i def_timestampdir:
- Prekidanjem sudo_hook_entry binarno ime "SYSTEMD_BYPASS_USERDB" moglo bi se pokrenuti kao root.
- Prevazilaženje service_user uspio je pokrenuti proizvoljan kôd kao root.
- Zamjenom def_timestampdir, bilo je moguće isprati sadržaj sudo steka, uključujući varijable okruženja, u datoteku / etc / passwd i postići zamjenu korisnika root privilegijama.
Istraživači su pokazali da eksploati rade da biste dobili pune root privilegije na Ubuntu 20.04, Debian 10 i Fedora 33.
Ranjivost mogu se koristiti na drugim operativnim sistemima i distribucijama, ali verifikacija istraživača bila je ograničena na Ubuntu, Debian i Fedoru, plus spomenuto je da to utječe na sve sudo verzije 1.8.2 do 1.8.31p2 i 1.9.0 do 1.9.5p1 u zadanim postavkama. Predloženo rješenje u sudo 1.9.5p2.
Istraživači unaprijed obavijestili programere distributeri koji su već izdali ažuriranja paketa na koordinirani način: Debian, RHEL, Fedor, Ubuntu, SUSE / openSUSE, Arch Linux, Slackware, Gentoo i FreeBSD.
Konačno ako ste zainteresirani da saznate više o tome o ranjivosti možete provjeriti detalje Na sledećem linku.