Chyba zabezpečení v systemd, která by vám mohla potenciálně umožnit eskalovat vaše oprávnění

Ve správci systému systemd identifikované zranitelnost (CVE-2020-1712), což vám potenciálně umožňuje spouštět váš kód se zvýšenými oprávněními odesláním speciálně navrženého požadavku přes sběrnici DBus. Problém je vyřešen v testovací verzi systemd 245-rc1 (záplaty, které problém řeší: 1, 2, 3). Chyba zabezpečení byla v distribucích opravena ubuntu, Fedora, RHEL (objeví se v RHEL 8, ale neovlivňuje RHEL 7), CentOS и SUSE/openSUSE, ale v době psaní zprávy zůstávají neopravené v Debian и Arch Linux.

Уязвимость вызвана обращением к уже освобождённой области памяти (use-after-free), возникающем при асинхронном выполнении запросов к Polkit во время обработки DBus-сообщений. Некоторые DBus-интерфейсы используют кэш для хранения объектов на короткое время и очищают элементы кэша как только шина DBus освободится для обработки других запросов. Если обработчик DBus-метода использует bus_verify_polkit_async(), ему возможно потребуется ожидать завершения действия в Polkit. После готовности Polkit обработчик вызывается повторно и обращается к уже ранее распределённым в памяти данным. Если запрос к Polkit выполняется слишком долго, то элементы в кэше успевают очистится до того, как обработчик DBus-метода будет вызван второй раз.

Mezi službami, které umožňují zneužití zranitelnosti, je systemd-machined, který poskytuje DBus API org.freedesktop.machine1.Image.Clone, což vede k dočasnému ukládání dat do mezipaměti a asynchronnímu přístupu k Polkitu. Rozhraní
org.freedesktop.machine1.Image.Clone je k dispozici všem neprivilegovaným uživatelům systému, což může způsobit zhroucení systémových služeb nebo potenciálně způsobit spuštění kódu jako root (prototyp exploitu ještě nebyl předveden). Kód, který umožňoval zneužití této chyby zabezpečení, byl přidal v systemd-machined ve verzi 2015 systémové 220 (RHEL 7.x používá systemd 219).

Zdroj: opennet.ru

Přidat komentář