פגיעות ב-systemd שעלולה לאפשר לך להסלים את ההרשאות שלך

במנהל המערכת של המערכת מזוהה פגיעות (CVE-2020-1712), אשר עשויה לאפשר לך לבצע את הקוד שלך עם הרשאות מוגברות על ידי שליחת בקשה שתוכננה במיוחד דרך אפיק DBus. הבעיה תוקנה במהדורת הבדיקה systemd 245-rc1 (תיקונים שפותרים את הבעיה: 1, 2, 3). הפגיעות תוקנה בהפצות אובונטו, פדורה, רהל (מופיע ב-RHEL 8, אך אינו משפיע על RHEL 7), CentOS и SUSE/openSUSE, אך בזמן כתיבת שורות אלה החדשות נותרו ללא תיקון דביאן и 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 זמין לכל המשתמשים חסרי הפריבילגיה של המערכת, מה שעלול לקרוס שירותי systemd או לגרום לקוד להתבצע כ-root (אבטיפוס הניצול טרם הוכח). הקוד שאפשר ניצול של הפגיעות היה הוסיף בעיבוד מערכתי בגרסת 2015 במקום 220 (RHEL 7.x משתמש ב-systemd 219).

מקור: OpenNet.ru

הוספת תגובה