Bregusrwydd yn Polkit sy'n eich galluogi i gynyddu eich breintiau yn y system

Mae bregusrwydd (CVE-2021-3560) wedi'i nodi yn y gydran Polkit, a ddefnyddir mewn dosraniadau i ganiatΓ‘u i ddefnyddwyr difreintiedig gyflawni gweithredoedd sy'n gofyn am hawliau mynediad uchel (er enghraifft, gosod gyriant USB), sy'n caniatΓ‘u i ddefnyddiwr lleol wneud hynny. ennill hawliau gwraidd yn y system. Mae'r bregusrwydd yn sefydlog yn fersiwn Polkit 0.119.

Mae'r broblem wedi bod yn bresennol ers rhyddhau 0.113, ond mae llawer o ddosbarthiadau, gan gynnwys RHEL, Ubuntu, Debian, a SUSE, wedi cefnu ar y swyddogaeth yr effeithiwyd arni i becynnau yn seiliedig ar ddatganiadau Polkit hΕ·n (mae atgyweiriadau pecyn eisoes ar gael yn y dosbarthiadau).

Mae'r broblem yn amlygu ei hun yn y ffwythiant polkit_system_bus_name_get_creds_sync(), sy'n cael y dynodwyr (uid a pid) y broses sy'n gofyn am ddrychiad braint. Nodir proses gan Polkit trwy aseinio enw unigryw yn DBus, a ddefnyddir wedyn i wirio breintiau. Os yw proses yn datgysylltu o dbus-daemon ychydig cyn i'r triniwr polkit_system_bus_name_get_creds_sync ddechrau, mae'r triniwr yn derbyn cod gwall yn lle enw unigryw.

Mae'r bregusrwydd yn cael ei achosi gan y ffaith nad yw'r cod gwall a ddychwelwyd wedi'i brosesu'n iawn a bod y swyddogaeth polkit_system_bus_name_get_creds_sync() yn dychwelyd TRUE yn lle ANGHYWIR, er gwaethaf methu Γ’ chyfateb y broses Γ’'r uid/pid a gwirio'r breintiau y gofynnwyd amdanynt ar gyfer y broses. Mae'r cod y galwyd y swyddogaeth polkit_system_bus_name_get_creds_sync() ohono yn rhagdybio bod y gwiriad wedi bod yn llwyddiannus a bod y cais i uwchgyfeirio breintiau wedi dod o'r gwraidd ac nid gan ddefnyddiwr di-freintiedig, sy'n ei gwneud hi'n bosibl cyflawni gweithredoedd breintiedig heb ddilysu a gwirio tystlythyrau ychwanegol.

Ffynhonnell: opennet.ru

Ychwanegu sylw