Zranitelnost v systemd, potenciálně umožňující zvýšení privilegovaných práv

V systémovém správci systemd byla odhalena zranitelnost (CVE-2020-1712), která potenciálně umožňuje provést vlastní kód s vyššími privilegii zasláním speciálně formátované žádosti přes sběrnici DBus. Problém byl opraven v testovací verzi systemd 245-rc1 (řešící problém záplaty: 1, 2, 3). Zranitelnost byla odstraněna v distribucích Ubuntu, Fedora, RHEL (projevuje se v RHEL 8, ale netýká se RHEL 7), CentOS, SUSE/openSUSE a ROSA, ale k datu napsání této zprávy zůstává neopravená v Debian a Arch Linux.

Zranitelnost je způsobena přístupem k již uvolněné oblasti paměti (use-after-free), která se vyskytuje při asynchronním provádění žádostí k Polkit během zpracování zpráv DBus. Některé DBus rozhraní používají cache k dočasnému uchování objektů a mažou prvky cache, jakmile je sběrnice DBus uvolněná pro zpracování dalších žádostí. Pokud zpracovatel DBus metody používá bus_verify_polkit_async(), může být nutné čekat na dokončení akce v Polkit. Po připravenosti Polkit je zpracovatel volán znovu a přistupuje k již dříve alokovaným datům v paměti. Pokud je žádost k Polkit příliš dlouhá, prvky v cache mají čas se vyčistit, ještě než je zpracovatel DBus metody volán podruhé.

Mezi službami, které umožňují zneužití zranitelnosti, je systemd-machined, který poskytuje DBus API org.freedesktop.machine1.Image.Clone, vedoucí k dočasnému uložení dat do cache a asynchronnímu přístupu k Polkit. Rozhraní
org.freedesktop.machine1.Image.Clone je dostupné všem nepřiděleným uživatelům systému, kteří mohou iniciovat pád služeb systemd nebo potenciálně dosáhnout provedení kódu s oprávněním root (prototyp exploitu zatím nebyl demonstrován). Kód umožňující zneužití zranitelnosti byl přidán v systemd-machined od roku 2015 ve verzi systemd 220 (v RHEL 7.x se používá systemd 219).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster