No xestor do sistema systemd
A vulnerabilidade prodúcese polo acceso a unha área de memoria xa liberada (use-after-free), que ocorre cando se executan de forma asíncrona solicitudes a Polkit mentres se procesan mensaxes DBus. Algunhas interfaces DBus usan unha caché para almacenar obxectos durante un tempo curto e limpar as entradas da caché en canto o bus DBus estea libre para procesar outras solicitudes. Se un controlador de método DBus usa bus_verify_polkit_async(), pode ter que esperar a que se complete a acción de Polkit. Despois de que Polkit estea listo, o manejador é chamado de novo e accede aos datos xa distribuídos na memoria. Se unha solicitude a Polkit leva demasiado tempo, os elementos da caché borraranse antes de que se chame ao manejador do método DBus unha segunda vez.
Entre os servizos que permiten a explotación da vulnerabilidade, destácase systemd-machined, que proporciona a API DBus org.freedesktop.machine1.Image.Clone, que leva ao almacenamento temporal de datos na caché e ao acceso asíncrono a Polkit. Interface
org.freedesktop.machine1.Image.Clone está dispoñible para todos os usuarios sen privilexios do sistema, que poden fallar os servizos do sistema ou provocar que o código se execute como root (o prototipo de exploit aínda non se demostrou). O código que permitiu a explotación da vulnerabilidade foi
Fonte: opennet.ru