Σοβαρά κενά ασφαλείας στο Nextcloud Server
Μια ανάλυση κώδικα από το Ομοσπονδιακό Γραφείο Ασφάλειας Πληροφοριών της Γερμανίας (BSI) αποκάλυψε σοβαρά προβλήματα ασφαλείας στην εφαρμογή διακομιστή του Nextcloud. Σύμφωνα με τα ευρήματα, η υπηρεσία αποθήκευε κωδικούς πρόσβασης σε απλό κείμενο, ενώ υπήρχε τρόπος να παρακαμφθεί ο μηχανισμός ελέγχου ταυτότητας δύο παραγόντων (2FA).
Εντοπισμός ευπαθειών από το MGM Security Partners
Η εταιρεία MGM Security Partners, με έδρα το Μόναχο, ανέλυσε την εφαρμογή του Nextcloud στο πλαίσιο του προγράμματος “Code Analysis of Open Source Software (CAOS 3.0)”. Η έρευνα αποκάλυψε 16 κρίσιμες ευπάθειες υψηλού κινδύνου, οι οποίες θα μπορούσαν να επιτρέψουν σε κακόβουλους χρήστες να αποκτήσουν πρόσβαση σε ευαίσθητα δεδομένα.
Πέρα από την ίδια την εφαρμογή ανοιχτού κώδικα, οι ερευνητές εξέτασαν τον πηγαίο κώδικα τεσσάρων επίσημων προσθέτων για τον έλεγχο ταυτότητας δύο παραγόντων. Ωστόσο, η ανάλυση δεν περιέλαβε την εφαρμογή Nextcloud για επιτραπέζιους υπολογιστές και smartphones, ούτε πρόσθετα τρίτων κατασκευαστών.
Σημαντικές αδυναμίες ασφαλείας
Οι ελεγκτές ασφαλείας έλαβαν συνολικά 43 αναγνωριστικούς αριθμούς ευπαθειών (CVE). Κατά τη διάρκεια των δοκιμών, η ομάδα επιδιόρθωσε αρκετά από τα προβλήματα, αλλά μέχρι την ολοκλήρωση της αναφοράς τον Ιούλιο του 2024, δύο από τις επιδιορθώσεις δεν πληρούσαν ακόμη τις απαιτήσεις ασφαλείας. Το BSI καθυστέρησε τη δημοσίευση της αναφοράς, ώστε οι προγραμματιστές να έχουν χρόνο να διορθώσουν τις ευπάθειες.
Παράκαμψη του 2FA και πλήρης κατάληψη λογαριασμού
Μια από τις πιο επικίνδυνες ευπάθειες (CVE-2024-37313) επέτρεπε σε επιτιθέμενους να παρακάμψουν το 2FA και να αποκτήσουν πρόσβαση σε λογαριασμούς χρηστών, αρκεί να είχαν τα διαπιστευτήριά τους. Το πρόβλημα προέκυπτε από έναν μηχανισμό ελέγχου συνεδρίας που καθορίζει αν απαιτείται 2FA για την είσοδο στον λογαριασμό.
Λόγω σφάλματος στην υλοποίηση, εάν η περίοδος εισαγωγής του εφάπαξ κωδικού έληγε, το 2FA αναστέλλετο για όλες τις συνεδρίες, επιτρέποντας έτσι την πρόσβαση του επιτιθέμενου.
Αδυναμία ελέγχου αυθεντικότητας στη μεταφορά αρχείων
Μια άλλη σοβαρή αδυναμία εντοπίστηκε στη διαδικασία ανταλλαγής αρχείων μεταξύ δύο διακομιστών Nextcloud. Εξαιτίας της έλλειψης μηχανισμών αυθεντικοποίησης, ο διακομιστής που λαμβάνει το αρχείο δεν μπορούσε να επαληθεύσει την ταυτότητα του αποστολέα. Παρότι οι χρήστες έπρεπε να αποδεχθούν την αποστολή, οι επιτιθέμενοι μπορούσαν να υποδυθούν οποιονδήποτε χρήστη και να αποστείλουν κακόβουλα αρχεία.
Αποθήκευση κωδικών πρόσβασης σε απλό κείμενο
Ένα ιδιαίτερα ανησυχητικό εύρημα ήταν η αποθήκευση κωδικών πρόσβασης σε απλό κείμενο. Οι χρήστες μπορούν να ενσωματώσουν εξωτερικό αποθηκευτικό χώρο στο Nextcloud και να τον συνδέσουν με τα διαπιστευτήριά τους. Ωστόσο, η διαδικασία δεν απαιτούσε επανεισαγωγή του ονόματος χρήστη και του κωδικού πρόσβασης, γεγονός που άφηνε το σύστημα εκτεθειμένο.
Εάν ένας εισβολέας αποκτούσε πρόσβαση σε έναν λογαριασμό, μπορούσε να δημιουργήσει μια σύνδεση με εξωτερική αποθήκευση και να διαβάσει τα δεδομένα πρόσβασης.
Επιπλέον, οι κωδικοί πρόσβασης αποθηκεύονταν σε απλό κείμενο κατά τη διάρκεια της συνεδρίας, επιτρέποντας στους επιτιθέμενους να τους αποσπάσουν μέσω άλλων ευπαθειών, όπως το cross-site scripting (XSS).
Το πρόγραμμα CAOS και η συμβολή του στην ασφάλεια λογισμικού
Το πρόγραμμα CAOS, το οποίο ξεκίνησε το 2021, στοχεύει στη διερεύνηση της ασφάλειας ευρέως χρησιμοποιούμενων εφαρμογών ανοιχτού κώδικα, τόσο από χρήστες όσο και από κυβερνητικές υπηρεσίες. Ο στόχος του είναι να εντοπίζει κενά ασφαλείας και να ενημερώνει τους προγραμματιστές, ώστε να ενισχύεται η ασφάλεια του λογισμικού.
Στο πλαίσιο αυτής της πρωτοβουλίας, το BSI και η MGM Security Partners έχουν επίσης ελέγξει δημοφιλείς διαχειριστές κωδικών πρόσβασης, όπως το KeePass και το Vaultwarden, καθώς και αποκεντρωμένες υπηρεσίες όπως το Mastodon και το Matrix.
Συμπέρασμα
Τα αποτελέσματα της έρευνας δείχνουν ότι ακόμα και εφαρμογές ανοιχτού κώδικα που χρησιμοποιούνται ευρέως μπορεί να περιέχουν σοβαρά κενά ασφαλείας. Οι χρήστες του Nextcloud καλούνται να ενημερώσουν άμεσα τα συστήματά τους στις πιο πρόσφατες εκδόσεις, προκειμένου να προστατευθούν από πιθανές επιθέσεις.
Οι προγραμματιστές ανοιχτού κώδικα πρέπει να δίνουν ιδιαίτερη έμφαση στην ασφάλεια, ενσωματώνοντας αυστηρότερους ελέγχους και ελέγχοντας συχνά την εφαρμογή τους για πιθανά τρωτά σημεία.