Ένα κενό ασφαλείας (CVE-2022-31214) ανακαλύφθηκε στο βοηθητικό πρόγραμμα sandboxing της εφαρμογής Firejail, το οποίο επιτρέπει σε έναν τοπικό χρήστη να αποκτήσει δικαιώματα root στο σύστημα υποδοχής. Ένα λειτουργικό exploit, το οποίο δοκιμάστηκε στις τρέχουσες εκδόσεις του openSUSE, είναι διαθέσιμο στο κοινό. Debian, Arch, Gentoo και Fedora με εγκατεστημένο το Firejail. Το πρόβλημα διορθώθηκε στο Firejail 0.9.70. Ως λύση, μπορείτε να ορίσετε τις παραμέτρους "join no" και "force-nonewprivs yes" στις ρυθμίσεις (/etc/firejail/firejail.config).
Το Firejail χρησιμοποιεί χώρους ονομάτων, AppArmor και φιλτράρισμα κλήσεων συστήματος (seccomp-bpf) για απομόνωση. Linux, αλλά για να ρυθμίσει την απομονωμένη εκτέλεση, απαιτεί αυξημένα δικαιώματα, τα οποία αποκτά συνδέοντας τη σημαία root suid στο βοηθητικό πρόγραμμα ή εκτελώντας την με sudo. Η ευπάθεια προκαλείται από ένα λογικό σφάλμα στην επιλογή "--join=". ", σχεδιασμένο για σύνδεση σε ένα ήδη εκτελούμενο απομονωμένο περιβάλλον (ανάλογο με την εντολή σύνδεσης για ένα περιβάλλον sandbox) αναγνωρίζοντας το περιβάλλον από το αναγνωριστικό διεργασίας που εκτελείται σε αυτό. Κατά τη φάση επαναφοράς προ-δικαιωμάτων, το firejail καθορίζει τα δικαιώματα της καθορισμένης διεργασίας και τα εφαρμόζει στη νέα διεργασία που συνδέεται στο περιβάλλον χρησιμοποιώντας την επιλογή "--join".
Πριν από τη σύνδεση, ελέγχει εάν η καθορισμένη διαδικασία εκτελείται στο περιβάλλον του firejail. Αυτός ο έλεγχος αξιολογεί την παρουσία του αρχείου /run/firejail/mnt/join. Για να εκμεταλλευτεί την ευπάθεια, ένας εισβολέας μπορεί να προσομοιώσει ένα πλασματικό, μη απομονωμένο περιβάλλον firejail χρησιμοποιώντας τον χώρο ονομάτων του mount και στη συνέχεια να συνδεθεί σε αυτό χρησιμοποιώντας την επιλογή «--join». Εάν οι ρυθμίσεις δεν ενεργοποιούν τη λειτουργία απαγόρευσης της απόκτησης πρόσθετων δικαιωμάτων σε νέες διεργασίες (prctl NO_NEW_PRIVS), το firejail θα συνδέσει τον χρήστη σε ένα εικονικό περιβάλλον και θα προσπαθήσει να εφαρμόσει τις ρυθμίσεις χώρου ονομάτων χρήστη της διαδικασίας έναρξης (PID 1).
Ως αποτέλεσμα, η διαδικασία που συνδέεται μέσω του «firejail –join» θα καταλήξει στον αρχικό χώρο ονομάτων του χρήστη ID με αμετάβλητα προνόμια, αλλά σε διαφορετικό χώρο σημείου προσάρτησης, πλήρως ελεγχόμενο από τον εισβολέα. Ένας εισβολέας μπορεί επίσης να εκτελέσει προγράμματα setuid-root στο χώρο του σημείου προσάρτησης που δημιούργησε, το οποίο επιτρέπει, για παράδειγμα, να αλλάζει τις ρυθμίσεις /etc/sudoers ή τις παραμέτρους PAM στην ιεραρχία των αρχείων του και να μπορεί να εκτελεί εντολές με δικαιώματα ρίζας χρησιμοποιώντας το sudo ή su Utilities.
Πηγή: opennet.ru
