Το GitLab κυκλοφόρησε ενημερώσεις ασφαλείας για την αντιμετώπιση μιας κρίσιμης ευπάθειας παράκαμψης ελέγχου ταυτότητας στο SAML, που επηρεάζει τις αυτοδιαχειριζόμενες εγκαταστάσεις του GitLab Community Edition (CE) και Enterprise Edition (EE).
Δείτε επίσης: Το GitLab κυκλοφορεί κρίσιμη ενημέρωση ασφαλείας
Το Security Assertion Markup Language (SAML), είναι ένα πρωτόκολλο ελέγχου ταυτότητας ενιαίας σύνδεσης (SSO) που επιτρέπει στους χρήστες να συνδέονται σε διαφορετικές υπηρεσίες χρησιμοποιώντας τα ίδια διαπιστευτήρια.
Το ελάττωμα, που παρακολουθείται ως CVE-2024-45409, προκύπτει από ένα ζήτημα στις βιβλιοθήκες OmniAuth-SAML και Ruby-SAML, τις οποίες χρησιμοποιεί το GitLab για να χειριστεί τον έλεγχο ταυτότητας που βασίζεται σε SAML.
5 βασικές συμβουλές ασφαλείας για τους gamers
NASA: Θέλει να στείλει αστροναύτες στον Άρη έως το 2035
Γιατί αναβάλλεται η εκτόξευση του Europa Clipper;
Η ευπάθεια εμφανίζεται όταν η απόκριση SAML που αποστέλλεται από έναν πάροχο ταυτότητας (IdP) στο GitLab περιέχει εσφαλμένη διαμόρφωση ή χειραγωγείται. Συγκεκριμένα, το ελάττωμα περιλαμβάνει ανεπαρκή επικύρωση βασικών στοιχείων στους ισχυρισμούς SAML, όπως το extern_uid (εξωτερικό αναγνωριστικό χρήστη), το οποίο χρησιμοποιείται για τον μοναδικό προσδιορισμό ενός χρήστη σε διαφορετικά συστήματα.
Ένας εισβολέας μπορεί να δημιουργήσει μια κακόβουλη απόκριση SAML που εξαπατά το GitLab ώστε να τους αναγνωρίσει ως πιστοποιημένους χρήστες, παρακάμπτοντας τον έλεγχο ταυτότητας SAML και αποκτώντας πρόσβαση στην παρουσία του GitLab.
Το ελάττωμα CVE-2024-45409 επηρεάζει τα GitLab 17.3.3, 17.2.7, 17.1.8, 17.0.8, 16.11.10 και όλες τις προηγούμενες εκδόσεις αυτών των υποκαταστημάτων.
Δείτε ακόμα: GitLab: Κρίσιμο σφάλμα επιτρέπει εκτέλεση pipelines σε εισβολείς
Η ευπάθεια αντιμετωπίζεται στις εκδόσεις 17.3.3, 17.2.7, 17.1.8, 17.0.8 και 16.11.10 του GitLab, όπου το OmniAuth SAML έχει αναβαθμιστεί στην έκδοση 2.2.1 και το Ruby-SAML σε 1.17.0.
Δεν χρειάζεται να ληφθούν μέτρα για τους χρήστες Dedicated instances του GitLab στο GitLab.com, καθώς το ζήτημα επηρεάζει μόνο τις αυτοδιαχειριζόμενες εγκαταστάσεις.
Για όσους δεν μπορούν να κάνουν αναβάθμιση σε ασφαλή έκδοση αμέσως, το GitLab προτείνει την ενεργοποίηση του ελέγχου ταυτότητας δύο παραγόντων (2FA) για όλους τους λογαριασμούς και τη ρύθμιση της επιλογής παράκαμψης SAML 2FA σε “δεν επιτρέπεται“.
Σημάδια εκμετάλλευσης
Αν και το GitLab δεν έχει δηλώσει ότι η ευπάθεια είχε χρησιμοποιηθεί στο παρελθόν, παρείχαν ενδείξεις απόπειρας ή επιτυχούς εκμετάλλευσης στο ενημερωτικό δελτίο, υποδηλώνοντας ότι κακόβουλοι φορείς μπορεί ήδη να εκμεταλλεύονται το ελάττωμα στις επιθέσεις.
Τα σημάδια απόπειρας ή επιτυχούς εκμετάλλευσης είναι:
- Σφάλματα που σχετίζονται με το RubySaml::ValidationError (ανεπιτυχείς προσπάθειες).
- Νέες ή ασυνήθιστες τιμές extern_uid στα αρχεία καταγραφής ελέγχου ταυτότητας (επιτυχείς προσπάθειες).
- Απούσες ή λανθασμένες πληροφορίες στις απαντήσεις SAML.
- Πολλαπλές τιμές extern_uid για έναν μεμονωμένο χρήστη (υποδεικνύει πιθανή παραβίαση λογαριασμού).
- Έλεγχος ταυτότητας SAML από μια άγνωστη ή ύποπτη διεύθυνση IP σε σύγκριση με τα συνήθη μοτίβα πρόσβασης του χρήστη.
Δείτε επίσης: Κρίσιμο σφάλμα GitLab επιτρέπει σε εισβολείς να εκτελούν pipelines
Ένα ελάττωμα παράκαμψης ελέγχου ταυτότητας, όπως αυτό στο SAML του GitLab, είναι μια κρίσιμη ευπάθεια ασφαλείας που επιτρέπει σε μη εξουσιοδοτημένους χρήστες να αποκτήσουν πρόσβαση σε ένα σύστημα παρακάμπτοντας τη διαδικασία ελέγχου ταυτότητας. Συνήθως, αυτά τα ελαττώματα προκύπτουν από κακές πρακτικές κωδικοποίησης ή ανεπαρκείς ελέγχους ασφαλείας εντός του μηχανισμού σύνδεσης. Οι εισβολείς εκμεταλλεύονται αυτές τις ευπάθειες για να αποκτήσουν μη εξουσιοδοτημένη πρόσβαση, οδηγώντας δυνητικά σε παραβιάσεις δεδομένων, μη εξουσιοδοτημένες συναλλαγές ή παραβίαση ευαίσθητων πληροφοριών. Οι αποτελεσματικές στρατηγικές μετριασμού περιλαμβάνουν αυστηρές αναθεωρήσεις κώδικα, εφαρμογή ελέγχου ταυτότητας πολλαπλών παραγόντων και τακτικούς ελέγχους ασφαλείας για τον εντοπισμό και την αντιμετώπιση πιθανών αδυναμιών πριν από την αξιοποίησή τους.
Πηγή: bleepingcomputer