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

添加评论