Vundebleco en Polkit, kiu ebligas al vi pligrandigi viajn privilegiojn en la sistemo

Vulnerabileco (CVE-2021-3560) estis identigita en la Polkit-komponento, kiu estas uzita en distribuoj por permesi al senprivilegiaj uzantoj fari agojn kiuj postulas altigitajn alirrajtojn (ekzemple, muntado de USB-disko), kio permesas al loka uzanto akiri radikrajtojn en la sistemo. La vundebleco estas riparita en Polkit-versio 0.119.

La problemo ĉeestas ekde la eldono 0.113, sed multaj distribuoj, inkluzive de RHEL, Ubuntu, Debian kaj SUSE, retroportis la tuŝitan funkciecon en pakaĵojn bazitajn sur pli malnovaj eldonoj de Polkit (pakaĵaj korektoj jam haveblas en la distribuoj).

La problemo manifestiĝas en la funkcio polkit_system_bus_name_get_creds_sync(), kiu akiras la identigilojn (uid kaj pid) de la procezo petante privilegialtigon. Procezo estas identigita de Polkit asignante unikan nomon en DBus, kiu tiam estas uzata por kontroli privilegiojn. Se procezo malkonektas de dbus-daemon tuj antaŭ ol la polkit_system_bus_name_get_creds_sync prizorganto komenciĝas, la prizorganto ricevas erarkodon anstataŭ unika nomo.

La vundebleco estas kaŭzita de la fakto, ke la redonita erarkodo ne estas konvene prilaborita kaj la funkcio polkit_system_bus_name_get_creds_sync() resendas VERA anstataŭ FALSA, malgraŭ ne povi kongrui la procezon kun la uid/pid kaj kontroli la privilegiojn petitajn por la procezo. La kodo el kiu la funkcio polkit_system_bus_name_get_creds_sync() estis vokita supozas, ke la kontrolo sukcesis kaj la peto por eskaladi privilegiojn venis de radiko kaj ne de senprivilegia uzanto, kio ebligas plenumi privilegiajn agojn sen plia aŭtentigo kaj kontrolo de akreditaĵoj.

fonto: opennet.ru

Aldoni komenton