在systemd系統管理員中
Уязвимость вызвана обращением к уже освобождённой области памяти (use-after-free), возникающем при асинхронном выполнении запросов к Polkit во время обработки DBus-сообщений. Некоторые DBus-интерфейсы используют кэш для хранения объектов на короткое время и очищают элементы кэша как только шина DBus освободится для обработки других запросов. Если обработчик DBus-метода использует bus_verify_polkit_async(), ему возможно потребуется ожидать завершения действия в Polkit. После готовности Polkit обработчик вызывается повторно и обращается к уже ранее распределённым в памяти данным. Если запрос к Polkit выполняется слишком долго, то элементы в кэше успевают очистится до того, как обработчик DBus-метода будет вызван второй раз.
在允許利用漏洞的服務中,值得注意的是systemd-machined,它提供了DBus API org.freedesktop.machine1.Image.Clone,導致資料在快取中暫時儲存以及對Polkit的非同步存取。介面
org.freedesktop.machine1.Image.Clone 可供系統的所有非特權使用者使用,這可能會導致 systemd 服務崩潰或可能導致程式碼以 root 身分執行(漏洞利用原型尚未示範)。允許利用該漏洞的程式碼是
來源: opennet.ru