systemd 시스템 관리자에서
Уязвимость вызвана обращением к уже освобождённой области памяти (use-after-free), возникающем при асинхронном выполнении запросов к Polkit во время обработки DBus-сообщений. Некоторые DBus-интерфейсы используют кэш для хранения объектов на короткое время и очищают элементы кэша как только шина DBus освободится для обработки других запросов. Если обработчик DBus-метода использует bus_verify_polkit_async(), ему возможно потребуется ожидать завершения действия в Polkit. После готовности Polkit обработчик вызывается повторно и обращается к уже ранее распределённым в памяти данным. Если запрос к Polkit выполняется слишком долго, то элементы в кэше успевают очистится до того, как обработчик DBus-метода будет вызван второй раз.
취약점 악용을 허용하는 서비스 중에는 DBus API org.freedesktop.machine1.Image.Clone을 제공하는 systemd-machined가 주목됩니다. 이는 캐시에 데이터를 임시 저장하고 Polkit에 대한 비동기 액세스를 제공합니다. 상호 작용
org.freedesktop.machine1.Image.Clone은 시스템의 권한 없는 모든 사용자가 사용할 수 있으며, 이로 인해 시스템 서비스가 중단되거나 잠재적으로 코드가 루트로 실행될 수 있습니다(익스플로잇 프로토타입은 아직 시연되지 않았습니다). 취약점 악용을 허용한 코드는 다음과 같습니다.
출처 : opennet.ru