systemd 中的漏洞可能允許您升級權限

在systemd系統管理員中 已確定 漏洞(CVE-2020,1712),這可能允許您透過 DBus 匯流排發送專門設計的請求來以提升的權限執行程式碼。該問題已在測試版本中修復 系統245-rc1 (解決問題的補丁: 1, 2, 3)。該漏洞已在發行版中修復 Ubuntu, Fedora, RHEL (出現在 RHEL 8 中,但不影響 RHEL 7), CentOS的 и SUSE/開放SUSE,但在撰寫本文時,該新聞仍未更正 Debian и Arch Linux.

Уязвимость вызвана обращением к уже освобождённой области памяти (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 身分執行(漏洞利用原型尚未示範)。允許利用該漏洞的程式碼是 添加 在 2015 年版本的 systemd-machined 中 systemd 220 (RHEL 7.x 使用 systemd 219)。

來源: opennet.ru

添加評論