Артықшылықтарыңызды арттыруға мүмкіндік беретін 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-метода будет вызван второй раз.

Осалдықты пайдалануға мүмкіндік беретін сервистердің ішінде DBus API org.freedesktop.machine1.Image.Clone қамтамасыз ететін, деректерді кэште уақытша сақтауға және Polkit-ке асинхронды қол жеткізуге әкелетін systemd-machined атап өтілді. Интерфейс
org.freedesktop.machine1.Image.Clone жүйенің барлық артықшылығы жоқ пайдаланушылары үшін қолжетімді, ол жүйелік қызметтерді бұзып жіберуі немесе кодтың түбірлік ретінде орындалуына әкелуі мүмкін (эксплейт прототипі әлі көрсетілмеген). осалдықты пайдалануға мүмкіндік беретін код болды қосылды systemd-machined 2015 нұсқасында жүйелік 220 (RHEL 7.x жүйесінде systemd 219 қолданылады).

Ақпарат көзі: opennet.ru

пікір қалдыру