Kwetsberens yn Polkit wêrtroch jo jo privileezjes yn it systeem kinne eskalearje

In kwetsberens (CVE-2021-3560) is identifisearre yn 'e Polkit-komponint, dy't brûkt wurdt yn distribúsjes om net-befoarrjochte brûkers aksjes út te fieren dy't ferhege tagongsrjochten nedich binne (bygelyks it montearjen fan in USB-stasjon), wêrtroch in lokale brûker kin win root rjochten yn it systeem. De kwetsberens is fêst yn Polkit ferzje 0.119.

It probleem is oanwêzich sûnt release 0.113, mar in protte distribúsjes, ynklusyf RHEL, Ubuntu, Debian, en SUSE, hawwe de beynfloede funksjonaliteit weromporteare yn pakketten basearre op âldere Polkit-releases (pakketfixes binne al beskikber yn 'e distribúsjes).

It probleem manifestearret him yn de polkit_system_bus_name_get_creds_sync () funksje, dy't krijt de identifiers (uid en pid) fan it proses freget privileezje ferheging. In proses wurdt identifisearre troch Polkit troch it tawizen fan in unike namme yn DBus, dy't dan wurdt brûkt om privileezjes te ferifiearjen. As in proses loskeart fan dbus-daemon krekt foardat de polkit_system_bus_name_get_creds_sync handler begjint, krijt de handler in flaterkoade ynstee fan in unike namme.

De kwetsberens wurdt feroarsake troch it feit dat de weromjûn flater koade is net goed ferwurke en de polkit_system_bus_name_get_creds_sync () funksje jout TRUE yn stee fan FALSE, nettsjinsteande it net by steat om te passen it proses oan de uid / pid en ferifiearje de privileezjes frege foar it proses. De koade wêrfan de funksje polkit_system_bus_name_get_creds_sync() neamd waard, giet derfan út dat de kontrôle suksesfol wie en it fersyk om privileezjes te eskalearjen kaam fan 'e root en net fan in unprivileged brûker, wat it mooglik makket om befoarrjochte aksjes út te fieren sûnder ekstra autentikaasje en ferifikaasje fan bewiisbrieven.

Boarne: opennet.ru

Add a comment