Systemd-ում խոցելիություն, որը կարող է ձեզ թույլ տալ մեծացնել ձեր արտոնությունները

Systemd համակարգի կառավարիչում բացահայտված խոցելիություն (CVE-2020-1712- ը), որը պոտենցիալ թույլ է տալիս Ձեզ կատարել ձեր կոդը բարձր արտոնություններով՝ ուղարկելով հատուկ մշակված հարցում DBus ավտոբուսի միջոցով: Խնդիրը շտկված է թեստային թողարկումում systemd 245-rc1 (փայտեր, որոնք լուծում են խնդիրը. 1, 2, 3) Խոցելիությունը ֆիքսվել է բաշխումներում Ubuntu, Fedora, RHEL- ը (հայտնվում է RHEL 8-ում, բայց չի ազդում RHEL 7-ի վրա), CentOS и SUSE/openSUSE, սակայն գրելու պահին լուրը մնում է չճշտված Debian и Arch Linux- ը.

Уязвимость вызвана обращением к уже освобождённой области памяти (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-ը հասանելի է համակարգի բոլոր ոչ արտոնյալ օգտատերերին, որոնք կարող են խափանել համակարգային ծառայությունները կամ պոտենցիալ պատճառ դառնալ, որ կոդը գործարկվի որպես արմատ (exploit-ի նախատիպը դեռ ցուցադրված չէ): Այն ծածկագիրը, որը թույլ էր տալիս օգտագործել խոցելիությունը ավելացրեց systemd-machined 2015 տարբերակով համակարգված 220 (RHEL 7.x-ն օգտագործում է systemd 219):

Source: opennet.ru

Добавить комментарий