sshole (CVE-2026-123158): Το OpenSSH Flaw που χτυπά το Alpine Linux και πώς να το διορθώσετε
Με Eoin Villarin, 2026-11-07
- Μια ευπάθεια του OpenSSH που ονομάζεται sshole επιτρέπει στους εισβολείς να εισέλθουν σε λογαριασμούς χωρίς κωδικό πρόσβασης σε συστήματα Alpine Linux και άλλα συστήματα που βασίζονται σε musl και ήδη εκμεταλλεύεται. Ποιοι επηρεάζονται, πώς να ελέγξετε τους διακομιστές σας και πώς να το διορθώσετε.
Είμαι επηρεασμένος από την ευπάθεια sshole του OpenSSH;
Είστε σε κίνδυνο εάν ένας διακομιστής εκτελεί OpenSSH παλαιότερο από το 10.6p2 σε ένα σύστημα που βασίζεται σε musl όπως το Alpine Linux χωρίς PAM, επιτρέπει συνδέσεις SSH με κωδικό πρόσβασης και έχει έναν λογαριασμό του οποίου το πεδίο κωδικού πρόσβασης είναι μόνο ένας αστερίσκος δίπλα σε άλλον λογαριασμό με πραγματικό κωδικό πρόσβασης. Το Debian, το Ubuntu, το Fedora και οι ρυθμίσεις που χρησιμοποιούν PAM δεν επηρεάζονται.
Βασικά συμπεράσματα
- Το CVE-2026-123158, που ονομάζεται sshole, επιτρέπει στους εισβολείς να συνδέονται σε λογαριασμούς χωρίς κωδικό πρόσβασης στο Linux που βασίζεται στο musl, στέλνοντας έναν υπερμεγέθη κωδικό πρόσβασης.
- Το πακέτο openssh-server του Alpine Linux είναι επηρεασμένο, ενώ τα συστήματα glibc όπως το Ubuntu και οι ρυθμίσεις που χρησιμοποιούν PAM δεν είναι.
- Οι εισβολείς το εκμεταλλεύτηκαν λιγότερο από εννέα ώρες μετά τη δημοσίευσή του και απέκτησαν πρόσβαση root σε ένα honeypot.
- Η διόρθωση είναι το OpenSSH 10.6p2 ή το διορθωμένο πακέτο του Alpine για τον κλάδο σας, ακολουθούμενο από μια επανεκκίνηση sshd.
- Εάν δεν μπορείτε να ενημερώσετε ακόμα, ορίστε το PasswordAuthentication no και χρησιμοποιήστε κλειδιά SSH.
Μια νεοανακαλυφθείσα ευπάθεια του OpenSSH που ονομάζεται sshole, με αριθμό CVE-2026-123158, επιτρέπει στους εισβολείς να συνδέονται σε ορισμένους λογαριασμούς Linux που δεν υποτίθεται ότι αποδέχονται κωδικούς πρόσβασης καθόλου. Επηρεάζει το OpenSSH σε συστήματα που βασίζονται στο musl, όπως το Alpine Linux, διορθώθηκε στις 5 Νοεμβρίου 2026 και οι εισβολείς άρχισαν να το χρησιμοποιούν λιγότερο από εννέα ώρες μετά τη δημοσίευσή του. Εάν εκτελείτε διακομιστές Alpine, εικόνες Docker που βασίζονται στο Alpine με SSH ή μικρές συσκευές στο OpenWrt, ελέγξτε τις σήμερα.
Τι είναι η εξασθένηση OpenSSH sshole;
Σε συστήματα βασισμένα σε musl, η συνάρτηση crypt() της βιβλιοθήκης C επιστρέφει ένα μόνο σύμβολο (*), όταν αποτυγχάνει να κατακερματίσει έναν κωδικό πρόσβασης, για παράδειγμα όταν ο κωδικός πρόσβασης είναι μεγαλύτερος από το όριο των 256 byte. Πολλά συστήματα Linux χρησιμοποιούν επίσης ένα μόνο * στο πεδίο κωδικού πρόσβασης για να σημαίνει "αυτός ο λογαριασμός δεν έχει κωδικό πρόσβασης". Το OpenSSH τα συνέκρινε, είδε *, και τα αντιμετώπισε ως ταίρι. Η αποστολή ενός υπερμεγέθους κωδικού πρόσβασης ήταν αρκετή για να συνδεθεί σε έναν λογαριασμό χωρίς κωδικό πρόσβασης.
Η συμπεριφορά επιστρέφει σε μια αλλαγή του 2016 στην επεξεργασία κωδικού πρόσβασης του OpenSSH. Ο ερευνητής ασφαλείας Özgün Kültekin την βρήκε χρησιμοποιώντας πράκτορες AI που εκτελούσαν περίπου 17.600 δοκιμές ελέγχου ταυτότητας. Το CVE φέρει βαθμολογία CVSS 3.1 8.1, που βαθμολογείται ως Υψηλό, και η διόρθωση αποστέλλεται στο OpenSSH 10.6p2.
Είμαι επηρεασμένος;
Ένας διακομιστής βρίσκεται σε κίνδυνο όταν όλα τα παρακάτω είναι αληθή:
- Εκτελεί OpenSSH παλαιότερο από το 10.6p2 σε ένα σύστημα βασισμένο σε musl, όπως το Alpine Linux, το OpenWrt, το Buildroot ή το Yocto.
- Το sshd δεν χρησιμοποιεί PAM. Αυτή είναι η προεπιλογή για το πακέτο openssh-server του Alpine.
- Οι συνδέσεις με κωδικό πρόσβασης SSH είναι ενεργοποιημένες, που είναι η προεπιλογή του OpenSSH.
- Τουλάχιστον ένας λογαριασμός έχει μόνο * στο πεδίο κωδικού πρόσβασης, όπως ένας χρήστης μόνο με κλειδί, δίπλα σε άλλον λογαριασμό με πραγματικό κωδικό πρόσβασης.
Οι επίσημες εικόνες cloud του Alpine για AWS και Azure από την 3.18.11 έως την 3.24.3 αποτελούν μια σοβαρή περίπτωση: περιλαμβάνουν έναν προεπιλεγμένο χρήστη alpine χωρίς κωδικό πρόσβασης και χωρίς κωδικό πρόσβασης doas, που σημαίνει ότι μια επιτυχημένη σύνδεση μπορεί να γίνει root.
Δεν επηρεάζεται: Συστήματα βασισμένα σε glibc όπως το Debian, το Ubuntu και το Fedora, ρυθμίσεις που ελέγχουν τους κωδικούς πρόσβασης μέσω PAM, Dropbear και OpenBSD. Οι λογαριασμοί με πραγματικό κατακερματισμό κωδικού πρόσβασης δεν μπορούν να παρακαμφθούν με αυτόν τον τρόπο.
Πώς να ελέγξετε τους διακομιστές σας
Εκτελέστε αυτά ως root σε κάθε διακομιστή ή κοντέινερ Alpine που εκτελεί sshd:
- Ελέγξτε τις ρυθμίσεις SSH:
sshd -T | grep -i -E 'passwordauthentication|usepam'. Εάν ο έλεγχος ταυτότητας με κωδικό πρόσβασης είναι απενεργοποιημένος ή το PAM είναι ενεργοποιημένο, αυτό το ελάττωμα δεν μπορεί να χρησιμοποιηθεί. - Ελέγξτε το εγκατεστημένο πακέτο:
apk list --installed | grep openssh, και συγκρίνετε το με τις διορθωμένες εκδόσεις παρακάτω. - Λίστα λογαριασμών χωρίς κωδικό πρόσβασης:
awk -F: '$2=="*" {print $1}' /etc/shadow. - Ελέγξτε για συνδέσεις σε αυτούς τους λογαριασμούς:
grep "Accepted password" /var/log/messages. Μια σύνδεση με κωδικό πρόσβασης σε έναν λογαριασμό με * στο πεδίο κωδικού πρόσβασης σημαίνει ότι ο διακομιστής πιθανότατα δέχθηκε επίθεση.
Πώς να διορθώσετε το CVE-2026-123158 στο Alpine Linux
Το Alpine παρείχε διορθωμένα πακέτα για κάθε κλάδο από την 3.16 έως το edge την ίδια μέρα με την αποκάλυψη. Ενημερώστε και επανεκκινήστε το sshd, επειδή η εγκατάσταση της ενημέρωσης δεν επανεκκινεί τη διαδικασία που εκτελείται:
apk upgrade -U -a και στη συνέχεια rc-service sshd restart
| Κλάδος Alpine | Διορθωμένη έκδοση openssh |
|---|---|
| άκρη | 10.6_p2-r0 |
| 3.24 | 10.3_p1-r2 |
| 3.23 | 10.2_p1-r1 |
| 3.22 | 10.0_p1-r11 |
| 3.21 | 9.9_p2-r1 |
| 3.20 | 9.7_p1-r6 |
| 3.19 | 9.6_p1-r3 |
| 3.18 | 9.3_p2-r4 |
| 3.17 | 9.1_p1-r7 |
| 3.16 | 9.0_p1-r6 |
Για το Docker, δημιουργήστε ξανά κάθε εικόνα που περιέχει openssh από μια καθαρή εικόνα βάσης και ανανεώστε την. Σημειώστε ότι ορισμένες εικόνες SSH στο Docker Hub, όπως το linuxserver's openssh-server, απενεργοποιούν τις συνδέσεις με κωδικό πρόσβασης από προεπιλογή, αλλά εκτίθενται όταν το PASSWORD_ACCESS=true έχει οριστεί.
Οι εκδόσεις Alpine παλαιότερες από την 3.16 δεν λαμβάνουν πακέτο διορθώσεων. Αναβαθμίστε τις σε μια υποστηριζόμενη έκδοση ή χρησιμοποιήστε το workaround παρακάτω.
Γρήγορη λύση: απενεργοποιήστε τις συνδέσεις με κωδικό πρόσβασης SSH
Εάν δεν μπορείτε να ενημερώσετε τώρα, ορίστε PasswordAuthentication no στο /etc/ssh/sshd_config, επανεκκινήστε το sshd και εκτελέστε ξανά τον έλεγχο sshd -T. Βεβαιωθείτε ότι η σύνδεση με το κλειδί SSH λειτουργεί πριν το κάνετε αυτό, διαφορετικά μπορεί να κλειδώσετε τον εαυτό σας. Το SSH μόνο με κλειδί είναι μια καλή προεπιλογή για οποιονδήποτε διακομιστή.
Τι να κάνετε εάν νομίζετε ότι χτυπήθηκε
- Ελέγξτε τη χρήση του doas, τους πρόσφατα δημιουργημένους χρήστες και κάθε αρχείο authorized_keys.
- Ελέγξτε για άγνωστες διαδικασίες, εργασίες cron και εξερχόμενες συνδέσεις.
- Εάν δεν μπορείτε να αποκλείσετε μια παραβίαση, αντιμετωπίστε τον διακομιστή ως παραβιασμένο: δημιουργήστε τον ξανά από μια καθαρή εικόνα και περιστρέψτε κάθε κωδικό πρόσβασης, κλειδί και διακριτικό που κατείχε.
- Μην κατεβάζετε δοκιμαστικές επιθέσεις από το GitHub για να δοκιμάσετε τους διακομιστές σας. Οι ερευνητές προειδοποιούν ότι ορισμένες δεν έχουν επαληθευτεί και μπορεί να περιέχουν κακόβουλο λογισμικό.
Η διατήρηση των διακομιστών ενημερωμένων είναι ένα μεγάλο μέρος του συντήρηση ιστοσελίδας Κάνω για τους πελάτες. Εάν θέλετε μια βοήθεια για τον έλεγχο της φιλοξενίας σας, της ρύθμισης Docker ή της διαμόρφωσης SSH, Επικοινωνήστε μαζί μου.
Συχνές ερωτήσεις
Επηρεάζεται το Ubuntu ή το Debian από το sshole;
Όχι. Το Debian, το Ubuntu, το Fedora και άλλα συστήματα που βασίζονται σε glibc δεν επηρεάζονται, όπως και οι ρυθμίσεις που χρησιμοποιούν PAM για ελέγχους κωδικού πρόσβασης.
Η SSH με μόνο κλειδί με προστατεύει;
Ναι. Με το PasswordAuthentication ρυθμισμένο σε όχι, ο διακομιστής δεν αποδέχεται κωδικούς πρόσβασης, επομένως το ελάττωμα δεν μπορεί να χρησιμοποιηθεί.
Εκμεταλλεύεται το CVE-2026-123158;
Ναι. Η εταιρεία Threat intelligence Previdian είδε την πρώτη προσπάθεια λιγότερο από εννέα ώρες μετά τη δημοσίευση του CVE και ένας εισβολέας απέκτησε πρόσβαση root σε ένα από τα honeypots που εκτελούσαν Alpine Linux.
Ποια έκδοση OpenSSH το διορθώνει;
OpenSSH 10.6p2. Στο Alpine, εγκαταστήστε το ενημερωμένο πακέτο openssh για τον κλάδο σας και επανεκκινήστε το sshd.
Επηρεάζονται τα δοχεία Docker;
Τα δοχεία που βασίζονται στο Alpine και εκτελούν sshd με ενεργοποιημένες συνδέσεις κωδικού πρόσβασης μπορεί να επηρεαστούν. Ανακατασκευάστε τα από μια ενημερωμένη εικόνα βάσης και ανανεώστε.
Χρειάζεται να επανεκκινήσω μετά την ενημέρωση;
Ναι. Το sshd που εκτελείται διατηρεί τον ευάλωτο κώδικα στη μνήμη μέχρι να επανεκκινήσετε την υπηρεσία.
Πηγές
- BleepingComputer: Η ευπάθεια του OpenSSH επιτρέπει στους εισβολείς να συνδέονται σε λογαριασμούς Linux που είναι απενεργοποιημένοι με κωδικό πρόσβασης
- Βοήθεια Ασφάλειας Δικτύου: Εξασθένηση OpenSSH που εκμεταλλεύτηκε στην άγρια ώρα μετά την αποκάλυψη
- Cycode: sshole OpenSSH παράκαμψη κωδικού πρόσβασης στο Alpine Linux
- Orca Security: sshole παράκαμψη ελέγχου ταυτότητας στο Alpine Linux