Varnarleysi í Polkit sem gerir þér kleift að auka réttindi þín í kerfinu

Varnarleysi (CVE-2021-3560) hefur verið greint í Polkit íhlutnum, sem er notaður í dreifingum til að leyfa óforréttindum notendum að framkvæma aðgerðir sem krefjast aukins aðgangsréttar (til dæmis að setja upp USB drif), sem gerir staðbundnum notanda kleift að öðlast rótarréttindi í kerfinu. Varnarleysið er lagað í Polkit útgáfu 0.119.

Vandamálið hefur verið til staðar frá útgáfu 0.113, en margar dreifingar, þar á meðal RHEL, Ubuntu, Debian og SUSE, hafa flutt viðkomandi virkni í pakka byggða á eldri Polkit útgáfum (pakkaleiðréttingar eru nú þegar fáanlegar í dreifingunum).

Vandamálið lýsir sér í polkit_system_bus_name_get_creds_sync() aðgerðinni, sem fær auðkenni (uid og pid) ferlisins sem biður um réttindahækkanir. Ferli er auðkennt af Polkit með því að úthluta einstöku nafni í DBus, sem síðan er notað til að staðfesta réttindi. Ef ferli aftengir sig við dbus-púkann rétt áður en polkit_system_bus_name_get_creds_sync stjórnandinn byrjar, fær stjórnandinn villukóða í stað einstakts nafns.

Varnarleysið stafar af því að villukóðinn sem skilaði er ekki unninn á réttan hátt og polkit_system_bus_name_get_creds_sync() aðgerðin skilar TRUE í stað FALSE, þrátt fyrir að vera ófær um að passa ferlið við uid/pid og sannreyna þau forréttindi sem beðið er um fyrir ferlið. Kóðinn sem aðgerðin polkit_system_bus_name_get_creds_sync() var kölluð út frá gerir ráð fyrir að athugunin hafi tekist og beiðnin um að auka réttindi hafi komið frá rót en ekki frá notanda án forréttinda, sem gerir það mögulegt að framkvæma forréttindaaðgerðir án viðbótar auðkenningar og sannprófunar á skilríkjum.

Heimild: opennet.ru

Bæta við athugasemd