آسیب پذیری در systemd که به طور بالقوه می تواند به شما اجازه دهد امتیازات خود را افزایش دهید

در سیستم مدیر سیستم شناخته شده است آسیب پذیری (CVE-2020-1712) که به طور بالقوه به شما امکان می دهد با ارسال یک درخواست طراحی شده ویژه از طریق گذرگاه DBus کد خود را با امتیازات بالا اجرا کنید. مشکل در نسخه آزمایشی رفع شده است systemd 245-rc1 (پچ هایی که مشکل را حل می کنند: 1, 2, 3). این آسیب‌پذیری در توزیع‌ها رفع شده است اوبونتو, کلاه نمدی مردانه, ریل (در RHEL 8 ظاهر می شود، اما RHEL 7 را تحت تأثیر قرار نمی دهد)، لینوکس и SUSE/openSUSE، اما در زمان نگارش این خبر اصلاح نشده باقی می ماند دبیان и قوس لینوکس.

Уязвимость вызвана обращением к уже освобождённой области памяти (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 اجرا شود (نمونه اولیه بهره برداری هنوز نشان داده نشده است). کدی که امکان بهره برداری از آسیب پذیری را فراهم می کرد، بود اضافه در systemd-machined در نسخه 2015 systemd 220 (RHEL 7.x از systemd 219 استفاده می کند).

منبع: opennet.ru

اضافه کردن نظر