Ailagbara ninu eto ti o le gba ọ laaye lati mu awọn anfani rẹ pọ si

Ninu oluṣakoso eto eto mọ ailagbara (CVE-2020-1712), eyiti o le fun ọ laaye lati ṣiṣẹ koodu rẹ pẹlu awọn anfani ti o ga nipa fifiranṣẹ ibeere ti a ṣe apẹrẹ pataki lori ọkọ akero DBus. Iṣoro naa wa titi ninu idasilẹ idanwo naa eto 245-rc1 (awọn abulẹ ti o yanju iṣoro naa: 1, 2, 3). Ailagbara naa ti wa titi ni awọn pinpin Ubuntu, Fedora, RHEL (farahan ni RHEL 8, ṣugbọn ko kan RHEL 7), CentOS и SUSE/ṣiiSUSE, sugbon ni akoko ti kikọ awọn iroyin si maa wa aito ni Debian и Arch Linux.

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

Lara awọn iṣẹ ti o gba laaye ilokulo ti ailagbara, systemd-machined ti ṣe akiyesi, eyiti o pese DBus API org.freedesktop.machine1.Image.Clone, ti o yori si ibi ipamọ igba diẹ ti data ninu kaṣe ati iwọle asynchronous si Polkit. Ni wiwo
org.freedesktop.machine1.Image.Clone wa fun gbogbo awọn olumulo ti ko ni anfani ti eto naa, eyiti o le jamba awọn iṣẹ eto tabi o le fa ki koodu ṣiṣẹ bi gbongbo (afọwọṣe ilokulo ko tii ṣe afihan). Awọn koodu ti o laaye iṣamulo ti palara wà fi kun ni systemd-machined ni 2015 version Eto 220 (RHEL 7.x nlo systemd 219).

orisun: opennet.ru

Fi ọrọìwòye kun