Ευπάθεια στο systemd που θα μπορούσε ενδεχομένως να σας επιτρέψει να κλιμακώσετε τα προνόμιά σας

Στον διαχειριστή συστήματος systemd αναγνωρισθείς ευπάθεια (CVE-2020-1712), το οποίο ενδεχομένως σας επιτρέπει να εκτελέσετε τον κώδικά σας με αυξημένα προνόμια στέλνοντας ένα ειδικά σχεδιασμένο αίτημα μέσω του διαύλου DBus. Το πρόβλημα διορθώθηκε στη δοκιμαστική έκδοση systemd 245-rc1 (μπαλώματα που λύνουν το πρόβλημα: 1, 2, 3). Η ευπάθεια έχει διορθωθεί στις διανομές Ubuntu, Μαλακό καπέλλο, 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 (το πρωτότυπο του exploit δεν έχει ακόμη αποδειχθεί). Ο κώδικας που επέτρεψε την εκμετάλλευση της ευπάθειας ήταν προστέθηκε σε systemd-machined στην έκδοση 2015 σύστημα 220 (Το RHEL 7.x χρησιμοποιεί systemd 219).

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο