Επείγον: Σημαντικό κενό ασφαλείας

Βρέθηκε ένα σημαντικό πρόβλημα ασφαλείας που επιτρέπει σε ένα απλό χρήστη να γίνει root!

Οι μεγάλες διανομές (σίγουρα οι Ubuntu και Redhat) γνώριζαν για το πρόβλημα μερικές εβδομάδες πριν την δημόσια ανακοίνωση και υπάρχουν ήδη οι απαραίτητες ενημερώσεις ασφαλείας. Αλλά λιγότερο γνωστές διανομές, ίσως να μην έχουν ενημερωθεί ακόμα.

Άμεση δράση!

Ελέγξτε αμέσως την διανομή σας και κατεβάστε τις αναβαθμίσεις ! Ποστάρετε το αποτέλεσμα αν η διανομή σας έχει την ευπάθεια (μαζί με λεπτομέρειες έκδοσης). Αλλά και να μην έχει πάλι δεν σας εμποδίζει κανείς.

Έλεγχος της διανομής μας

Για να ελέγξετε το σύστημα σας κατεβάστε αυτό το αρχείο (θα πρέπει να έχετε το gcc εγκατεστημένο) και στην συνέχεια κάντε το compile με την παρακάτω εντολή μέσα στο φάκελο που το κατεβάσατε

gcc -o blasty blasty-vs-pkexec.c

Ας το δοκιμάσουμε (διανομή Linux Mint)
image

Άουτς! Πόνεσε (*)

(*) Στην πραγματικότητα όχι, η ενημέρωση είχε έρθει ήδη και επέστρεψα πίσω το σύστημα με το Timeshift.

Αλλά, μετά το κατέβασμα και την εφαρμογή των αναβαθμίσεων είδα φως
image

Βοήθεια! Η διανομή μου δεν έχει ενημερωθεί

Σε αυτή την περίπτωση δώστε σε ένα τερματικό την εντολή

chmod 0755 /usr/bin/pkexec

Αυτή θα αφαιρέσει το setuid bit από την pkexec. Πιθανά αυτό να δημιουργήσει μικροπροβλήματα και δεν είναι μια μακροχρόνια λύση.

Διαβάστε

Για το τι είναι και τι κάνει το Polkit

7 «Μου αρέσει»

Ubuntu 21.10

Manjaro 22 (xfce & gnome)
cc1: fatal error: blasty-vs-pkexec.c: No such file or directory
compilation terminated
?

Πρέπει να είσαι μέσα στον φάκελο που έχεις κατεβάσει το αρχείο blasty-vs-pkexec.c

1 «Μου αρέσει»

μετά το maybe get shell now? με βγάζει στο prompt, αν εκεί δώσω whoami τότε επιστρέφει τ’ όνομα χρήστη. είμαι καλά?

edit: επίσης ενώ ο ffox μου κατεβάζει το αρχείο του link, ο brave απλά το ανοίγει σαν text file…?

Αν σε βγάλει σαν χρήστη root (ή πρώτη εικόνα) υπάρχει πρόβλημα, οτιδήποτε άλλο είναι εντάξει. Αυτό που κατεβάζεις είναι ένα πρόγραμμα γραμμένο σε γλώσσα C (άρα ουσιαστικά ένα κείμενο), το οποίο το κάνεις εσύ compile.

1 «Μου αρέσει»

Παραθέτω και ένα ακόμα link από την ομάδα που ανέφερε πρώτη το θέμα, Qualys Research Lab, αξίζει να το διαβάσετε γιατί περιγράφει πολύ ωραία το πρόβλημα :

Επίσης από το παραπάνω κείμενο, παραθέτω :

Last-minute note: polkit also supports non-Linux operating systems such as Solaris and *BSD, but we have not investigated their exploitability. However, we note that OpenBSD is not exploitable, because its kernel refuses to execve() a program if argc is 0.

Τι κάνουν αυτοί εκεί στο OpenBSD ?!?!?! Σέβας!!! :lock:

5 «Μου αρέσει»

pkexec? παει αυτο. μας τελειωσε. πηγε για τα ψαρια. εδω και πολυ καιρο το εχω αχρηστεψει εντελως. πως? ετσι:…

# dd if=//dev/zero count=1 | dd of=//usr/lib/pkexec count=1

(αν θυμαμαι καλα στο //usr/lib ειναι) ετσι κι’αλλιως δεν χρησιμοποιω καν πλεον policykit οποτε δεν χανω και τιποτα.

Εκ της διαχείρισης: Η παραπάνω εντολή είναι προϊόν αστεϊσμού και δεν διορθώνει την ευπάθεια.

Καλώς ήρθες @DarkGoth στην παρέα μας, και συγνώμη για την εισβολή στο πόστ σου δεν το συνηθίζουμε. Αλλά δεν μπορείς να ξέρεις πότε ούτε τις γνώσεις ούτε τις αντιδράσεις κάποιου που διαβάζει ένα νήμα με τέτοιο τίτλο. Μπορεί να εκτελέσει την εντολή για να κάνει το σύστημα του ποιο ασφαλές και μετά να έχει θέματα και να μην θυμάται κατ τι είχε κάνει.

Για το pkexec υπάρχουν άλλες δημοσιεύσεις αν θέλεις να επεκταθείς ή αν δεν σε καλύπτουν γράψε άρθρο :grin:

Θα έπρεπε να είχε μπει μια πιο ξεκάθαρη αναφορά στα μεθεόρτια. Έχει απαντηθεί και καλό είναι να υπάρχει μια αναφορά και εδώ

@Asfodelus βασικα, απο τη στιγμη που αχρηστευεις το στοιχειο (εν προκειμενω το pkexec) που εκμεταλλευεται η ευπαθεια, αχρηστευεις και την ευπαθεια. οποτε το συστημα γινεται πιο ασφαλες, αλλα εχεις δικιο, οτι ΟΝΤΩΣ αυτο δημιουργει θεματα μετα. οποτε ενας νεος χρηστης σιγουρα δεν θα καταλαβει τι εχει γινει. γι’αυτο αν δεις, δεν εγραψα κατι σε στυλ «κανε αυτο και εισαι ενταξει». εγραψα απλα τι εκανα, σαν εναλλακτικη για πιο εμπειρους, που ξερουν τι να περιμενουν (βασικα εδω εκανα το λαθος οτι δεν το επισημανα «μην το κανετε αυτο, εκτος αν ξερετε τι κανει και τι να περιμενετε μετα»)

Μην ξεχνάμε επίσης πως ένας υπολογιστής που δεν είναι συνδεμένος σε πηγή ρεύματος δεν έχει καμία ευπάθεια, εκτός βέβαια αν πατηθεί από έναν οδοστρωτήρα :smiley:

Αν για παράδειγμα το αφαιρέσεις από το Linux Mint :mint:, τότε ο διαχειριστής ενημερώσεων θα παύσει να λειτουργεί, μεταξύ άλλων. Σε μια μοντέρνα διανομή που το χρησιμοποιεί η αφαίρεση του δεν είναι μια καθόλου απλή εργασία. Προσωπικά πάντως θεωρώ πως το polkit κάνει το σύστημα και πιο ασφαλές και πιο ευέλικτο, αν πχ χρησιμοποιείς βιομετρικές μεθόδους, usb κλειδιά κλπ, αλλά γούστα είναι αυτά.

Επειδή σε αυτά τα θέματα ο αρχάριος χρήστης θα δώσει την “μαγική εντολή” που θα κάνει το σύστημα του πιο ασφαλές, καλό είναι να υπάρχει πάντα η επισήμανση.

1 «Μου αρέσει»

στο μιντ, εκτος απο τον διαχειρηστη ενημερωσεων, αχρηστευεται και το κεντρο λογισμικου (γιατι δεν μπορει πλεον να παρει αδεια να εγκαταστησει προγραμματα). επισης αχρηστευονται και ολες οι συντομευσεις προγραμματων που ζητανε δικαιωματα ρουτ σε μενου και launchers (τις πατας και απλα δεν κανουν τιποτα). τα ξερω γιατι τα εχω κανει

μαλλον οντως θα πρεπει να βαζω κατω απο καθε ποστ μου προειδοποιησεις, γιατι ειμαι μοντας του κερατα. απλα δεν μπορεις να φανταστεις τι μοντες εχω κανει στα συστηματα μου. αν σε πω τι εχω κανει, θα φριξεις, ΑΝ θυμομουν κιολας ολα οσα εχω κανει :stuck_out_tongue_winking_eye:

α, το βρηκα! εχουμε εδω δυνατοτητα για «υπογραφη» που εμφανιζεται κατω απο τα ποστ μας? αν εχουμε, θα βαλω για υπογραφη κατι σαν «ΠΡΟΣΟΧΗ, αυτος ο χρηστης ειναι μοντας του κερατα. μην κανετε αυτα που γραφει εκτος αν ξερετε πολυ καλα τι κανετε», και αυτο το πραγμα να εμφανιζεται κατω απο καθε ποστ μου :rofl:

ασχετο Υ.Γ: επισης υπολογιστης χωρις καμια ευπαθεια ειναι και αυτος που θα τον πεταξεις απο την ταρατσα :rofl:

2 «Μου αρέσει»