У сістэмным мэнэджэры systemd
Уразлівасць выклікана зваротам да ўжо вызваленай вобласці памяці (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 (прататып эксплоита пакуль не прадэманстраваны). Код, які дазваляе эксплуатаваць уразлівасць, быў
Крыніца: opennet.ru