Dobësi në Polkit që ju lejon të përshkallëzoni privilegjet tuaja në sistem

Një cenueshmëri (CVE-2021-3560) është identifikuar në komponentin Polkit, i cili përdoret në shpërndarje për të lejuar përdoruesit e paprivilegjuar të kryejnë veprime që kërkojnë të drejta të larta aksesi (për shembull, montimi i një disku USB), i cili lejon një përdorues lokal të fitoni të drejta rrënjësore në sistem. Dobësia është rregulluar në versionin 0.119 të Polkit.

Problemi ka qenë i pranishëm që nga lëshimi 0.113, por shumë shpërndarje, duke përfshirë RHEL, Ubuntu, Debian dhe SUSE, kanë mbështetur funksionalitetin e prekur në paketa të bazuara në lëshimet më të vjetra të Polkit (rregullimet e paketave janë tashmë të disponueshme në shpërndarje).

Problemi shfaqet në funksionin polkit_system_bus_name_get_creds_sync(), i cili merr identifikuesit (uid dhe pid) të procesit që kërkon ngritjen e privilegjeve. Një proces identifikohet nga Polkit duke caktuar një emër unik në DBus, i cili më pas përdoret për të verifikuar privilegjet. Nëse një proces shkëputet nga dbus-daemon pak përpara se të nisë trajtuesi polkit_system_bus_name_get_creds_sync, mbajtësi merr një kod gabimi në vend të një emri unik.

Dobësia shkaktohet nga fakti që kodi i gabimit të kthyer nuk është përpunuar siç duhet dhe funksioni polkit_system_bus_name_get_creds_sync() kthen TRUE në vend të FALSE, pavarësisht se nuk mund të përputhet me procesin me uid/pid dhe të verifikojë privilegjet e kërkuara për procesin. Kodi nga i cili u thirr funksioni polkit_system_bus_name_get_creds_sync() supozon se kontrolli ishte i suksesshëm dhe kërkesa për të përshkallëzuar privilegjet erdhi nga root dhe jo nga një përdorues i paprivilegjuar, gjë që bën të mundur kryerjen e veprimeve të privilegjuara pa vërtetim shtesë dhe verifikim të kredencialeve.

Burimi: opennet.ru

Shto një koment