Πριν από λίγες μέρες, ανακοινώθηκε πληροφορίες σχετικά με έναν έλεγχο ασφαλείας η οποία αποκάλυψε πέντε κρίσιμα τρωτά σημεία στον δημοφιλή πολυπλέκτη τερματικού Οθόνη GNU, που χρησιμοποιείται για τη διαχείριση πολλαπλών συνεδριών κονσόλας σε ένα μόνο τερματικό.
Ένα από αυτά (CVE-2025-23395, η πιο επικίνδυνη ευπάθεια) επιτρέπει σε έναν εισβολέα να αποκτήσει δικαιώματα root σε επηρεαζόμενα συστήματα (η ευπάθεια επηρεάζει μόνο την έκδοση 5.0.0 του GNU Screen), συμπεριλαμβανομένων διανομών όπως Fedora, Arch Linux, NetBSD, μεταξύ άλλων. Άλλες εκδόσεις όπως το Debian, το Ubuntu και το RHEL, ωστόσο, εξακολουθούν να χρησιμοποιούν τον κλάδο 4.x, ο οποίος δεν είναι ευάλωτος σε αυτό το συγκεκριμένο ελάττωμα.
CVE-2025-23395: Κλιμάκωση κρίσιμων προνομίων
Αναφέρεται ότι το πρόβλημα παρουσιάζεται όταν το GNU Screen εκτελείται με το bit root του setuid (περίπτωση Arch και NetBSD), αφούκαι η συνάρτηση logfile_reopen() εκτελείται πριν από τη μείωση των δικαιωμάτων, το οποίο επιτρέπει στον χρήστη να χειριστεί το μητρώο για να γράψει τυχαία αρχεία ως root. Σε ένα τυπικό αγρόκτημα, καιΟ εισβολέας διαγράφει το αρχικό αρχείο καταγραφής και το αντικαθιστά με έναν συμβολικό σύνδεσμο. σε ένα αρχείο συστήματος. Όταν ανοίγετε ξανά το αρχείο, το Screen το γράφει με δικαιώματα root, επιτρέποντας την είσοδο κακόβουλου περιεχομένου.
Αυτό το πρόβλημα επηρεάζει την έκδοση Screen 5.0.0 όταν εκτελείται με δικαιώματα setuid-root. Η συνάρτηση logfile_reopen() δεν καταργεί δικαιώματα όταν λειτουργεί σε μια διαδρομή που παρέχεται από τον χρήστη. Αυτό επιτρέπει σε χρήστες χωρίς δικαιώματα να δημιουργούν αρχεία σε αυθαίρετες τοποθεσίες με root ιδιοκτησία, την (πραγματική) ιδιοκτησία ομάδας του χρήστη που το επικαλείται και λειτουργία αρχείου 0644. Όλα τα δεδομένα που εγγράφονται στο Screen PTY θα καταγράφονται σε αυτό το αρχείο. Τα υπάρχοντα αρχεία μπορούν επίσης να χρησιμοποιηθούν για καταχώριση με αυτόν τον τρόπο: τα δεδομένα θα προστεθούν στο εν λόγω αρχείο, αλλά η λειτουργία και η ιδιοκτησία του αρχείου θα παραμείνουν αμετάβλητες.
Αυτή η επίθεση μπορεί να οδηγήσει σε πλήρη έλεγχο του συστήματος εάν αξιοποιηθεί σωστά, καθώς σας επιτρέπει να τροποποιήσετε ευαίσθητα αρχεία ή να τροποποιήσετε σενάρια εκκίνησης. Το Fedora προστατεύεται μερικώς επειδή το Screen εγκαθίσταται με το bit setgid, περιορίζοντας την επιφάνεια επίθεσης.
Άλλες σχετικές ευπάθειες
Ο έλεγχος, που διεξήχθη από την ομάδα ασφαλείας του SUSE Linux, εντόπισε επίσης και άλλες σημαντικές αποτυχίες:
- CVE-2025-46802: Σε συνεδρίες πολλαπλών χρηστών, ένας εισβολέας μπορεί να αποκτήσει καθολικά δικαιώματα ανάγνωσης και εγγραφής σε συσκευές TTY όπως το /dev/pts/1, επηρεάζοντας τόσο τους κλάδους 4.x όσο και 5.x.
- CVE-2025-46803: Ο κλάδος 5.0 ορίζει μη ασφαλή δικαιώματα (0622) σε συσκευές PTY, επιτρέποντας την εγγραφή από οποιονδήποτε χρήστη.
- CVE-2025-46804: Μια διαρροή πληροφοριών επιτρέπει την εξαγωγή συμπεράσματος για την ύπαρξη αρχείων ή καταλόγων χρησιμοποιώντας μηνύματα σφάλματος κατά τον ορισμό της μεταβλητής SCREENDIR.
- CVE-2025-46805: Μια συνθήκη ανταγωνισμού κατά την αποστολή σημάτων SIGCONT και SIGHUP μπορεί να οδηγήσει σε άρνηση υπηρεσίας.
Εντοπίστηκε επίσης κακή χρήση του strncpy, η οποία μπορεί να προκαλέσει σφάλματα κατά την εκτέλεση εντολών με ειδική μορφοποίηση, ένα πρόβλημα που αφορά αποκλειστικά τον κλάδο 5.0.
Έλλειψη συντήρησης και υποστήριξης από την SUSE
Η ανακάλυψη αυτών των ευπαθειών έχει αποκαλύψει βαθύτερα προβλήματα στη συντήρηση του GNU Screen. Σύμφωνα με την ομάδα SUSE, Οι τρέχοντες συντηρητές του έργου δεν κατανοούν πλήρως τη βάση κώδικα ούτε προβλήματα ασφαλείας, τα οποία τους ανάγκασαν να αναπτύξουν μόνοι τους ενημερώσεις κώδικα για ορισμένα από τα ελαττώματα που ανακαλύφθηκαν. Η αναφορά στάλθηκε στους προγραμματιστές στις 7 Φεβρουαρίου, αλλά ολόκληρο το σύνολο των ευπαθειών δεν μπόρεσε να διορθωθεί εντός της συμφωνημένης περιόδου χάριτος των 90 ημερών.
Τι πρέπει να κάνετε εάν χρησιμοποιείτε το GNU Screen;
Χρήστες συστημάτων που περιλαμβάνουν το Screen 5.0.0 με setuid root θα πρέπει να ενημερωθεί αμέσως στην έκδοση 5.0.1 ή προσωρινή επιστροφή σε έκδοση 4.x εάν δεν υπάρχουν διαθέσιμα πακέτα. Ως μέτρο μετριασμού, το bit setuid μπορεί επίσης να αφαιρεθεί από το εκτελέσιμο αρχείο Screen:
sudo chmod u-s /usr/bin/screen
Ωστόσο, Αυτό μπορεί να επηρεάσει τη λειτουργικότητα όπως η κοινή χρήση περιόδων σύνδεσης μεταξύ χρηστών. Τέλος, αξίζει να αναφερθεί ότι η πρόσφατα κυκλοφορήσασα έκδοση 5.0.1 διορθώνει αυτό και άλλα σφάλματα και είναι πλέον διαθέσιμη σε διανομές όπως το Arch Linux και το FreeBSD.
Αν είστε ενδιαφέρεται να μάθει περισσότερα για αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες στο παρακάτω σύνδεσμο.