O vulnerabilitate în systemd, care permite în mod potențial creșterea privilegiilor

În managerul de sistem systemd a fost identificată vulnerabilitate (CVE-2020-1712), care permite potențial executarea codului cu privilegii ridicate prin trimiterea unei cereri special formate pe magistrala DBus. Problema a fost corectată în versiunea de test. systemd 245-rc1 (patch-uri care rezolvă problema: 1, 2, 3). Vulnerabilitatea a fost remediată în distribuțiile Ubuntu, Fedora, RHEL (apar în RHEL 8, dar nu afectează RHEL 7), CentOS, SUSE/openSUSE și ROSA, dar, la momentul redactării știrii, rămâne nerezolvată în Debian și Arch Linux.

Vulnerabilitatea este cauzată de accesul la o zonă de memorie deja eliberată (use-after-free), care apare în timpul execuției asincrone a cererilor către Polkit în timpul procesării mesajelor DBus. Unele interfețe DBus folosesc un cache pentru a stoca obiecte pe termen scurt și curăță elementele din cache imediat ce magistrala DBus devine liberă pentru a procesa alte cereri. Dacă handler-ul metodei DBus utilizează bus_verify_polkit_async(), acesta poate necesita așteptarea finalizării acțiunii în Polkit. Odată ce Polkit este pregătit, handler-ul este apelat din nou și accesează datele care au fost anterior alocate în memorie. Dacă cererea către Polkit durează prea mult, elementele din cache sunt curățate înainte ca handler-ul metodei DBus să fie apelat a doua oară.

Printre serviciile care permit exploatarea vulnerabilității se numără systemd-machined, care oferă API-ul DBus org.freedesktop.machine1.Image.Clone, ce duce la stocarea temporară a datelor în cache și la accesarea asincronă a Polkit. Interfața
org.freedesktop.machine1.Image.Clone este disponibilă tuturor utilizatorilor neprivilegiați ai sistemului, care pot iniția prăbușirea serviciilor systemd sau pot obține potențial executarea codului cu privilegii de root (prototipul exploatului nu a fost demonstrat încă). Codul care permite exploatarea vulnerabilității a fost adăugat în systemd-machined în 2015 în versiunea systemd 220 (în RHEL 7.x se utilizează systemd 219).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster