Polkit-en ahultasuna, zure pribilegioak sisteman handitzeko aukera ematen duena

Polkit osagaian ahultasun bat (CVE-2021-3560) identifikatu da, banaketetan erabiltzen dena pribilegiorik gabeko erabiltzaileek sarbide-eskubide handiak behar dituzten ekintzak egin ditzaten (adibidez, USB unitate bat muntatzea), eta horri esker tokiko erabiltzaileak sisteman erro-eskubideak lortu. Zaurgarritasuna Polkit 0.119 bertsioan konpondu da.

Arazoa 0.113 bertsiotik dago, baina banaketa askok, RHEL, Ubuntu, Debian eta SUSE barne, kaltetutako funtzionalitateak Polkit bertsio zaharretan oinarritutako paketeetan atzera eraman dituzte (paketeen konponketak eskuragarri daude dagoeneko banaketetan).

Arazoa polkit_system_bus_name_get_creds_sync() funtzioan agertzen da, pribilegio-altuera eskatzeko prozesuaren identifikatzaileak (uid eta pid) lortzen dituena. Polkit-ek prozesu bat identifikatzen du DBus-en izen esklusibo bat esleituz, gero pribilegioak egiaztatzeko erabiltzen dena. Prozesu bat dbus-daemonetik deskonektatzen bada polkit_system_bus_name_get_creds_sync kudeatzailea hasi baino lehen, kudeatzaileak errore-kode bat jasoko du izen esklusibo baten ordez.

Itzulitako errore-kodea behar bezala prozesatu ez izanak eta polkit_system_bus_name_get_creds_sync() funtzioak EGIA itzultzen du FALSE izan beharrean, prozesua uid/pid-arekin lotu eta prozesuarako eskatutako pribilegioak egiaztatu ezin izanak eragiten du ahultasuna. Polkit_system_bus_name_get_creds_sync() funtzioa deitzen den kodeak suposatzen du egiaztapena arrakastatsua izan dela eta pribilegioak igotzeko eskaera errotik etorri dela eta ez pribilegiorik gabeko erabiltzaile batena, eta horrek pribilegiozko ekintzak egitea ahalbidetzen du, autentifikazio eta kredentzialen egiaztapen gehigarririk gabe.

Iturria: opennet.ru

Gehitu iruzkin berria