Vulnerabilidad en systemd que podría permitirle escalar sus privilegios

En el administrador del sistema systemd identificado vulnerabilidad (CVE-2020-1712), que potencialmente le permite ejecutar su código con privilegios elevados enviando una solicitud especialmente diseñada a través del bus DBus. El problema se solucionó en la versión de prueba. sistemad 245-rc1 (parches que solucionan el problema: 1, 2, 3). La vulnerabilidad se ha solucionado en las distribuciones. Ubuntu, Fedora, RHEL (aparece en RHEL 8, pero no afecta a RHEL 7), CentOS и SUSE/openSUSE, pero en el momento de escribir este artículo la noticia permanece sin corregir en Debian и Arch Linux.

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

Entre los servicios que permiten explotar la vulnerabilidad destaca systemd-machined, que proporciona la API DBus org.freedesktop.machine1.Image.Clone, lo que permite el almacenamiento temporal de datos en la caché y el acceso asíncrono a Polkit. Interfaz
org.freedesktop.machine1.Image.Clone está disponible para todos los usuarios sin privilegios del sistema, lo que puede bloquear los servicios de systemd o provocar que el código se ejecute como root (el prototipo del exploit aún no se ha demostrado). El código que permitió la explotación de la vulnerabilidad fue adicional en systemd-machined en la versión 2015 systemd 220 (RHEL 7.x usa systemd 219).

Fuente: opennet.ru

Añadir un comentario