Viga systemd, mis võimaldab potentsiaalselt õiguste tõstmist

Süsteemihalduri systemd tuvastatud haavatavus (CVE-2020-1712), mis võimaldab potentsiaalselt käivitada oma koodi suurendatud õigustega, saates spetsiaalselt vormindatud päringu DBus bussile. Probleem on parandatud testversioonis systemd 245-rc1 (probleemi lahendavad plaastrid: 1, 2, 3). Haavatavus on kõrvaldatud distributsioonides Ubuntu, Fedora, RHEL (ilmneb RHEL 8-s, kuid ei mõjuta RHEL 7-d), CentOS, SUSE/openSUSE ja ROSA, kuid uudise kirjutamise hetkel on see veel parandamata Debian ja Arch Linuxis.

Haavatavus on põhjustatud juba vabastatud mäluala (use-after-free) käsitlemisest, mis tekib asünkroonsete päringute tegemisel Polkitile DBus sõnumite töötlemise ajal. Mõned DBus liideseed kasutavad objektide lühiajalist vahemälu, puhastades vahemälu elemendid, kui DBus buss on vaba teiste päringute töötlemiseks. Kui DBus meetodi käitleja kasutab bus_verify_polkit_async(), võib tal olla vajalik oodata Polkit'i toimingute lõppemist. Polkit'i valmimisel kutsutakse käitlejat uuesti ja see pöördub juba varem eraldatud mäludetailide poole. Kui päring Polkitile kestab liiga kaua, siis on vahemälu elemendid piisavalt aega, et enne meetodi uuesti kutsumist puhastuda.

Voodsidest, mis võimaldavad haavatavuse ärakasutamist, on välja toodud systemd-machined, mis pakub DBus API-d org.freedesktop.machine1.Image.Clone, mis viib andmete ajutise salvestamiseni vahemälus ja asünkroonsete päringute tegemiseni Polkitile. Liides
org.freedesktop.machine1.Image.Clone on saadaval kõigile süsteemi mitteprivilegeeritud kasutajatele, kes võivad algatada systemd teenuste krahhi või potentsiaalselt saavutada koodi täitmise root õigustes (kavandi kuritarvitamise prototüüp pole veel demonstreeritud). Kood, mis võimaldab haavatavuse ärakasutamist, oli lisatud systemd-machinedis 2015. aastal versioonis systemd 220 (RHEL 7.x kasutab systemd 219).

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster