Sårbarhet i systemd som potentiellt kan tillåta dig att eskalera dina privilegier

I systemd systemhanteraren identifieras sårbarhet (CVE-2020-1712), vilket potentiellt låter dig exekvera din kod med förhöjda privilegier genom att skicka en specialdesignad begäran över DBus-bussen. Problemet är åtgärdat i testversionen systemd 245-rc1 (patchar som löser problemet: 1, 2, 3). Sårbarheten har åtgärdats i distributioner ubuntu, fedora, RHEL (visas i RHEL 8, men påverkar inte RHEL 7), CentOS и SUSE/openSUSE, men i skrivande stund förblir nyheten okorrigerad i Debian и Arch Linux.

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

Bland de tjänster som tillåter utnyttjande av sårbarheten noteras systemd-machined, som tillhandahåller DBus API org.freedesktop.machine1.Image.Clone, vilket leder till tillfällig lagring av data i cachen och asynkron åtkomst till Polkit. Gränssnitt
org.freedesktop.machine1.Image.Clone är tillgänglig för alla oprivilegierade användare av systemet, vilket kan krascha systemd-tjänster eller potentiellt orsaka att kod exekveras som root (exploatprototypen har ännu inte demonstrerats). Koden som tillät exploatering av sårbarheten var Lagt till i systembearbetad i 2015 års version systemd 220 (RHEL 7.x använder systemd 219).

Källa: opennet.ru

Lägg en kommentar