Ευπάθεια στο περιβάλλον χρήστη Enlightenment που σας επιτρέπει να αποκτήσετε δικαιώματα root

Εντοπίστηκε μια ευπάθεια (CVE-2022-37706) στο περιβάλλον χρήστη Enlightenment που επιτρέπει σε έναν μη προνομιούχο τοπικό χρήστη να εκτελεί κώδικα με δικαιώματα ρίζας. Η ευπάθεια δεν έχει επιδιορθωθεί ακόμη (0-ημέρα), αλλά υπάρχει ήδη ένα exploit διαθέσιμο στο δημόσιο τομέα, δοκιμασμένο στο Ubuntu 22.04.

Το πρόβλημα βρίσκεται στο εκτελέσιμο αρχείο enlightenment_sys, το οποίο αποστέλλεται με τη σημαία ρίζας suid και εκτελεί ορισμένες επιτρεπόμενες εντολές, όπως η προσάρτηση της μονάδας με το βοηθητικό πρόγραμμα mount, μέσω μιας κλήσης στο system(). Λόγω της εσφαλμένης λειτουργίας της συνάρτησης που δημιουργεί τη συμβολοσειρά που μεταβιβάστηκε στην κλήση system(), κόβονται εισαγωγικά από τα ορίσματα της εντολής που εκκινείται, τα οποία μπορούν να χρησιμοποιηθούν για την εκτέλεση του δικού σας κώδικα. Για παράδειγμα, όταν εκτελείτε mkdir -p /tmp/net mkdir -p "/tmp/;/tmp/exploit" echo "/bin/sh" > /tmp/exploit chmod a+x /tmp/exploit enlightenment_sys /bin/mount - o noexec,nosuid,utf8,nodev,iocharset=utf8,utf8=0,utf8=1,uid=$(id -u), "/dev/../tmp/;/tmp/exploit" /tmp// / καθαρό

λόγω της αφαίρεσης διπλών εισαγωγικών, αντί για την καθορισμένη εντολή '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' θα υπάρχει μια συμβολοσειρά χωρίς διπλά εισαγωγικά μεταβιβάστηκε στη συνάρτηση system() ' /bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net', η οποία θα προκαλέσει την εντολή '/tmp/exploit /tmp///net ' να εκτελεστεί χωριστά αντί να υποβληθεί σε επεξεργασία ως μέρος της διαδρομής προς τη συσκευή. Οι γραμμές "/dev/../tmp/" και "/tmp///net" επιλέγονται για να παρακάμψουν τον έλεγχο ορίσματος για την εντολή mount στο enlightenment_sys (η συσκευή προσάρτησης πρέπει να ξεκινά με /dev/ και να δείχνει σε ένα υπάρχον αρχείο, και οι τρεις χαρακτήρες "/" στο σημείο προσάρτησης καθορίζονται για να επιτευχθεί το απαιτούμενο μέγεθος διαδρομής).

Πηγή: opennet.ru

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