ʻO ka vulnerability i ka systemd hiki ke ʻae iā ʻoe e hoʻonui i kāu mau pono

I loko o ka systemd system manager ʻike ʻia pilikia (CVE-2020-1712), hiki iā ʻoe ke hoʻokō i kāu code me nā pono kiʻekiʻe ma o ka hoʻouna ʻana i kahi noi i hoʻolālā kūikawā ʻia ma luna o ka pahi DBus. Paʻa ka pilikia ma ka hoʻokuʻu hoʻāʻo systemd 245-rc1 (nā ʻāpana e hoʻonā i ka pilikia: 1, 2, 3). Ua hoʻopaʻa ʻia ka vulnerability i nā māhele Ubuntu, ʻO Fedora, RHEL (ʻike ʻia ma RHEL 8, akā ʻaʻole pili iā RHEL 7), CentOS и SUSE/openSUSE, akā i ka manawa e kākau ai, ʻaʻole i hoʻoponopono ʻia ka nūhou Debian и Kūnaewele Linux.

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

Ma waena o nā lawelawe e ʻae ai i ka hoʻohana ʻana i ka nāwaliwali, ʻike ʻia ka systemd-machined, e hāʻawi ana i ka DBus API org.freedesktop.machine1.Image.Clone, e alakaʻi ana i ka mālama manawaleʻa o ka ʻikepili i loko o ka cache a me ke komo ʻana asynchronous iā Polkit. Ikepili
Loaʻa ka org.freedesktop.machine1.Image.Clone i nā mea hoʻohana pono ʻole o ka ʻōnaehana, hiki ke hoʻopau i nā lawelawe systemd a i ʻole ke kumu e hoʻokō ʻia ai ke code ma ke ʻano he kumu (ʻaʻole i hōʻike ʻia ka prototype exploit). ʻO ke code i ʻae i ka hoʻohana ʻana i ka nāwaliwali hoʻohui ʻia ma systemd-machined i ka mana 2015 ʻōnaehana 220 (RHEL 7.x hoʻohana i ka systemd 219).

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka