Η κρίσιμη ευπάθεια CVE-2026-105221 στο RubyGem Gist επιτρέπει σε επιτιθέμενο που παρεμβάλλεται στη σύνδεση να παρακάμψει τον έλεγχο πιστοποιητικών TLS. Το σφάλμα μπορεί να εκθέσει διαπιστευτήρια OAuth που χρησιμοποιεί το εργαλείο για επικοινωνία με το GitHub, όπως περιγράφουν η καταχώριση της NVD και το τεχνικό issue στο αποθετήριο του Gist.

Το RubyGem Gist είναι εργαλείο γραμμής εντολών γραμμένο σε Ruby, το οποίο στέλνει αρχεία ή αποσπάσματα κώδικα στην υπηρεσία GitHub Gist. Το αποθετήριο του έργου εξηγεί ότι το εργαλείο μπορεί να χρησιμοποιεί διακριτικό πρόσβασης OAuth, το οποίο αποθηκεύεται τοπικά για τις επόμενες συνδέσεις.
Η CVE αφορά την επαλήθευση του πιστοποιητικού TLS από το RubyGem Gist και όχι κάποια ευπάθεια στην πλατφόρμα GitHub. Σύμφωνα με τα στοιχεία που συνδέονται με την εγγραφή της NVD, επηρεάζονται οι εκδόσεις του πακέτου από 4.0.0 έως και την 6.0.x, ενώ η 6.1.0 είναι η πρώτη διορθωμένη έκδοση.
Πώς λειτουργεί η ευπάθεια στο RubyGem Gist
Το πρόβλημα εντοπίζεται στη ρύθμιση της σύνδεσης HTTPS μέσα στη βιβλιοθήκη. Η σχετική γραμμή κώδικα όριζε τη λειτουργία VERIFY_NONE, δηλαδή συνέχιζε τη σύνδεση χωρίς να ελέγχει αν το πιστοποιητικό του απομακρυσμένου διακομιστή είναι έγκυρο. Έτσι, η κρυπτογράφηση από μόνη της δεν αρκούσε για να επιβεβαιώσει ποιος βρισκόταν στην άλλη άκρη.
Ο έλεγχος του πιστοποιητικού επιβεβαιώνει ότι η κρυπτογραφημένη σύνδεση καταλήγει στον διακομιστή που ζήτησε το πρόγραμμα. Αν παραλειφθεί, ένας ενδιάμεσος μπορεί να παρουσιάσει δικό του πιστοποιητικό και να τερματίσει χωριστή σύνδεση με κάθε πλευρά, χωρίς το RubyGem Gist να εντοπίσει την παρέμβαση.
Σε ένα σενάριο επίθεσης τύπου «άνθρωπος στη μέση» (man-in-the-middle), ο δράστης πρέπει να μπορεί να παρακολουθεί ή να επηρεάζει τη διαδρομή της κίνησης, για παράδειγμα σε ένα μη ασφαλές δίκτυο. Αν το πρόγραμμα αποδεχθεί πλαστό πιστοποιητικό, ο ενδιάμεσος κόμβος μπορεί να αποκρυπτογραφεί ή να τροποποιεί τα αιτήματα προς το GitHub χωρίς αυτό να γίνει αντιληπτό.
Το δημόσιο issue #373 περιγράφει την πιθανή έκθεση διακριτικών OAuth και επισημαίνει ότι η ρύθμιση υπήρχε στο αρχείο lib/gist.rb. Πρόκειται για τεχνική αναφορά στο αποθετήριο του έργου, όχι για επιβεβαίωση ότι κάποιος επιτιθέμενος απέκτησε πράγματι πρόσβαση σε λογαριασμούς χρηστών.

Τι μπορεί να υποκλέψει ένας επιτιθέμενος
Η σοβαρότητα εξαρτάται από το τι διακινείται στη σύνδεση και από τα δικαιώματα του εκτεθειμένου διακριτικού. Το αποθετήριο αναφέρει ότι το εργαλείο χρησιμοποιεί διαπιστευτήριο με δικαιώματα Gist· επομένως η έκθεσή του μπορεί να επιτρέψει μη εξουσιοδοτημένη ανάγνωση ή αλλαγή αποσπασμάτων, ανάλογα με τα δικαιώματα που έχει παραχωρήσει ο χρήστης.
Η διαρροή δεν σημαίνει αυτομάτως πλήρη ανάληψη κάθε λογαριασμού GitHub. Ο κίνδυνος περιορίζεται από το εύρος των δικαιωμάτων του διακριτικού, αλλά ακόμη και πρόσβαση μόνο στα Gist μπορεί να αποκαλύψει κώδικα, σημειώσεις ή άλλα στοιχεία που ο χρήστης θεωρούσε ιδιωτικά. Οι οργανισμοί θα πρέπει να εξετάσουν αν τέτοια αποσπάσματα περιέχουν μυστικά.
Η εγγραφή CVE-2026-105221 κατατάσσεται στην κατηγορία της ακατάλληλης επικύρωσης πιστοποιητικών. Η NVD εμφανίζει βαθμολογία 9,1, κρίσιμη στο CVSS 4.0, με την αξιολόγηση να αποδίδεται στη VulnCheck. Το υψηλό σκορ περιγράφει τη δυνητική επίπτωση· δεν αποτελεί απόδειξη ότι η ευπάθεια αξιοποιείται μαζικά ή ότι έχει καταγραφεί περιστατικό σε πραγματικό περιβάλλον. Δείτε την αναλυτική εγγραφή της VulnCheck.
Δείτε επίσης: MCP Python SDK: Κλοπή OAuth credentials από κακόβουλους servers

Ποιες εκδόσεις επηρεάζονται και πώς να γίνει η διόρθωση
Η NVD αναφέρει ως επηρεαζόμενες τις εκδόσεις του πακέτου από 4.0.0 και πριν από την 6.1.0. Οι διαχειριστές θα πρέπει να ελέγξουν την έκδοση που χρησιμοποιούν στο περιβάλλον Ruby, καθώς και τυχόν εξαρτήσεις που έχουν «κλειδωθεί» σε αρχεία Gemfile.lock ή εγκαταστάσεις μέσω διαχειριστών πακέτων.
Η διόρθωση για το RubyGem Gist είναι διαθέσιμη από την έκδοση 6.1.0. Στο διορθωτικό commit, η επιλογή VERIFY_NONE αντικαθίσταται από VERIFY_PEER, ώστε το πιστοποιητικό του διακομιστή να ελέγχεται κανονικά πριν συνεχιστεί η επικοινωνία. Η αλλαγή αντιμετωπίζει άμεσα τη συγκεκριμένη αδυναμία.
Μετά την αναβάθμιση, όσοι χρησιμοποίησαν ευάλωτη έκδοση σε δίκτυο που δεν εμπιστεύονται καλό είναι να ανακαλέσουν το παλιό διακριτικό και να δημιουργήσουν νέο με τα απολύτως απαραίτητα δικαιώματα. Παράλληλα, μπορούν να εξετάσουν τα ιδιωτικά Gist για μη αναμενόμενες αλλαγές και να απομακρύνουν από αυτά κωδικούς ή κλειδιά που δεν πρέπει να αποθηκεύονται σε αποσπάσματα.
🔒 Προστατέψτε την ιδιωτικότητά σας με Proton VPN
Ελβετικό VPN από τους δημιουργούς του Proton Mail — αυστηρή πολιτική no-logs, ισχυρή κρυπτογράφηση και ενσωματωμένο NetShield που μπλοκάρει διαφημίσεις, trackers & malware.
- ✔ No-logs, με έδρα την Ελβετία (εκτός 14-Eyes)
- ✔ NetShield: φραγή διαφημίσεων, trackers & κακόβουλων domains
- ✔ Καλύπτει όλες τις συσκευές — δωρεάν έκδοση διαθέσιμη
Ο σύνδεσμος είναι συνεργατικός (affiliate) — το SecNews ενδέχεται να λάβει προμήθεια χωρίς επιπλέον κόστος για εσάς. Δεν επηρεάζει την ανεξαρτησία της αρθρογραφίας μας.
Δείτε επίσης: JeetBot: Κακόβουλο extension Twitch διέρρευσε OAuth tokens 31.000 χρηστών
Οι ομάδες ανάπτυξης μπορούν επίσης να περιορίσουν την έκθεση διαπιστευτηρίων, αποφεύγοντας τη χρήση λογαριασμών με ευρεία δικαιώματα για αυτοματοποιημένες λειτουργίες. Η τεχνική ομάδα του SecNews συνιστά την επιβεβαίωση της έκδοσης και την ανανέωση των διακριτικών ως μέρος της διαδικασίας αντιμετώπισης, χωρίς να θεωρείται ότι η αναβάθμιση από μόνη της αναιρεί πιθανή προηγούμενη διαρροή.
Δείτε επίσης: ShinyHunters: Κλοπή δεδομένων Salesforce μέσω OAuth
