Süsteemi haavatavus, mis võib lubada teil oma õigusi suurendada

Systemd süsteemihalduris tuvastatud haavatavus (CVE-2020-1712), mis võimaldab teil potentsiaalselt käivitada oma koodi kõrgendatud õigustega, saates spetsiaalselt loodud päringu DBusi siini kaudu. Probleem on testiväljaandes lahendatud systemd 245-rc1 (plaastrid, mis probleemi lahendavad: 1, 2, 3). Haavatavus on distributsioonides parandatud Ubuntu, Fedora, RHEL (ilmub RHEL 8-s, kuid ei mõjuta RHEL 7), CentOS и SUSE/openSUSE, kuid uudise kirjutamise ajal on see parandamata Debian и Arch Linux.

Haavatavuse põhjustab juurdepääs juba vabastatud mälualale (kasutus pärast vaba), mis ilmneb DBus-sõnumite töötlemise ajal Polkiti päringute asünkroonsel täitmisel. Mõned DBus-liidesed kasutavad vahemälu objektide lühiajaliseks salvestamiseks ja vahemälu kirjete tühjendamiseks niipea, kui DBus-siin on vaba muude taotluste töötlemiseks. Kui DBus-meetodikäsitleja kasutab funktsiooni bus_verify_polkit_async(), võib tal olla vaja oodata Polkiti toimingu lõpuleviimist. Kui Polkiti on valmis, kutsutakse töötleja uuesti ja pääseb juurde juba mällu jagatud andmetele. Kui päringu esitamine Polkitile võtab liiga kaua aega, tühjendatakse vahemälus olevad üksused enne, kui DBus-meetodi töötleja teist korda kutsutakse.

Teenuste hulgas, mis võimaldavad haavatavust ära kasutada, on märgitud systemd-machined, mis pakub DBus API org.freedesktop.machine1.Image.Clone, mis viib andmete ajutise salvestamiseni vahemällu ja asünkroonse juurdepääsuni Polkitile. Liides
org.freedesktop.machine1.Image.Clone on saadaval kõigile süsteemi privilegeerimata kasutajatele, kes võivad süsteemsete teenuste krahhi või põhjustada koodi käivitamise administraatorina (kasutamise prototüüpi pole veel demonstreeritud). Kood, mis lubas haavatavust ära kasutada, oli lisatud systemd-machined versioonis 2015 systemd 220 (RHEL 7.x kasutab systemd 219).

Allikas: opennet.ru

Lisa kommentaar