Athari kwenye Polkit inayokuruhusu kuongeza upendeleo wako katika mfumo

Athari ya kuathiriwa (CVE-2021-3560) imetambuliwa katika kipengele cha Polkit, ambacho hutumika katika usambazaji ili kuruhusu watumiaji wasio na haki kutekeleza vitendo vinavyohitaji haki za juu za ufikiaji (kwa mfano, kupachika hifadhi ya USB), ambayo huruhusu mtumiaji wa ndani kupata haki za mizizi katika mfumo. Athari hii imerekebishwa katika toleo la 0.119 la Polkit.

Tatizo limekuwepo tangu kutolewa kwa 0.113, lakini usambazaji mwingi, ikiwa ni pamoja na RHEL, Ubuntu, Debian, na SUSE, wamerejesha utendakazi ulioathiriwa katika vifurushi kulingana na matoleo ya zamani ya Polkit (marekebisho ya vifurushi tayari yanapatikana katika usambazaji).

Tatizo linajidhihirisha katika kitendakazi cha polkit_system_bus_name_get_creds_sync(), ambacho hupata vitambulisho (uid na pid) vya mchakato wa kuomba mwinuko wa upendeleo. Mchakato unatambuliwa na Polkit kwa kukabidhi jina la kipekee katika DBus, ambalo hutumika kuthibitisha upendeleo. Mchakato ukitenganishwa na dbus-daemon kabla tu ya kidhibiti cha polkit_system_bus_name_get_creds_sync kuanza, kidhibiti hupokea msimbo wa hitilafu badala ya jina la kipekee.

Athari hii inasababishwa na ukweli kwamba msimbo wa hitilafu uliorejeshwa haujachakatwa ipasavyo na chaguo za kukokotoa za polkit_system_bus_name_get_creds_sync() hurejesha TRUE badala ya FALSE, licha ya kushindwa kulinganisha mchakato na uid/pid na kuthibitisha hakimiliki zilizoombwa kwa mchakato huo. Nambari ya kuthibitisha ambayo polkit_system_bus_name_get_creds_sync() kazi iliitwa inadhania kuwa hundi ilifaulu na ombi la kuongeza marupurupu lilitoka kwa mizizi na si kutoka kwa mtumiaji asiye na haki, ambayo inafanya uwezekano wa kufanya vitendo vyema bila uthibitishaji wa ziada na uthibitishaji wa vitambulisho.

Chanzo: opennet.ru

Kuongeza maoni