დაუცველობა სისტემაში, რომელიც პოტენციურად საშუალებას მოგცემთ გაზარდოთ თქვენი პრივილეგიები

systemd სისტემის მენეჯერში იდენტიფიცირებული დაუცველობა (CVE-2020-1712), რომელიც პოტენციურად საშუალებას გაძლევთ შეასრულოთ თქვენი კოდი ამაღლებული პრივილეგიებით სპეციალურად შემუშავებული მოთხოვნის გაგზავნით DBus ავტობუსზე. პრობლემა მოგვარებულია სატესტო გამოშვებაში სისტემა 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 ხელმისაწვდომია სისტემის ყველა არაპრივილეგირებული მომხმარებლისთვის, რომელსაც შეუძლია შეაფერხოს სისტემური სერვისები ან პოტენციურად გამოიწვიოს კოდის root-ის სახით შესრულება (ექსპლოიტის პროტოტიპი ჯერ არ არის ნაჩვენები). კოდი, რომელიც დაუცველობის ექსპლუატაციის საშუალებას აძლევდა იყო დაემატა systemd-machined-ში 2015 წლის ვერსიაში სისტემად 220 (RHEL 7.x იყენებს systemd 219).

წყარო: opennet.ru

ახალი კომენტარის დამატება