Το OpenSSH 9.9p2 Διορθώνει δύο κρίσιμα τρωτά σημεία MITM

Το OpenSSH παρέχει ένα πλούσιο σύνολο δυνατοτήτων ασφαλούς διοχέτευσης σήραγγας

Πριν ΛΙΓΕΣ μερες, Ντάμιεν Μίλερ (ένας από τους προγραμματιστές του OpenSSH), το έκανε γνωστό, μέσω λιστών αλληλογραφίας, το Έκδοση συντήρησης OpenSSH 9.9p2 ότι διορθώνει δύο κρίσιμα τρωτά σημεία ανακαλύφθηκε από την Qualys, η οποία θα μπορούσε να αξιοποιηθεί για να πραγματοποιήσει επιθέσεις Man-in-the-Middle (MITM).

Αναφέρεται ότι αυτές οι βλάβες επέτρεψε σε έναν εισβολέα να υποκλέψει συνδέσεις SSH και εξαπατήστε τον πελάτη ώστε να αποδεχτεί το κλειδί ενός κακόβουλου διακομιστή αντί για το νόμιμο κλειδί του διακομιστή προορισμού.

CVE-2025-26465: Παράκαμψη επαλήθευσης κλειδιού SSH

Το πρώτο από τα τρωτά σημεία που επιδιορθώθηκε στην κυκλοφορία αυτής της διορθωτικής έκδοσης είναι το CVE-2025-26465. Αυτή η ευπάθεια οφείλεται σε ένα λογικό σφάλμα στο βοηθητικό πρόγραμμα ssh, που επιτρέπει σε έναν εισβολέα να παρακάμψει την επαλήθευση κλειδιού διακομιστή και να εκτελέσει με επιτυχία μια επίθεση MITM.

Όταν ένας πελάτης προσπαθεί να συνδεθεί σε διακομιστή SSH, Ένας εισβολέας μπορεί να ανακατευθύνει την κυκλοφορία σε έναν ψεύτικο διακομιστή και αναγκάζουν τον πελάτη να αποδεχτεί το εσφαλμένο κλειδί χωρίς προειδοποίηση, πιστεύοντας ότι είναι συνδεδεμένο με τον νόμιμο διακομιστή.

Επιπλέον, αυτή η ευπάθεια:

  • Είναι παρόν στο OpenSSH από την έκδοση 6.8p1 (Δεκέμβριος 2014).
  • Ενεργοποιείται όταν είναι ενεργοποιημένη η επιλογή VerifyHostKeyDNS.
  • Στη βασική διαμόρφωση OpenSSH, αυτή η επιλογή είναι απενεργοποιημένη από προεπιλογή, αλλά στο FreeBSD ήταν ενεργοποιημένη μέχρι τον Μάρτιο του 2023.

Όσο για τα αίτια που προκαλούν αυτή την αποτυχία, αναφέρεται ότι Αυτό συμβαίνει επειδή η συνάρτηση verify_host_key_callback() καλεί verify_host_key(), αλλά ελέγχει μόνο εάν ο κωδικός σφάλματος που επιστρέφεται είναι -1, αγνοώντας άλλους κωδικούς σφάλματος όπως -2. Οταν Η verify_host_key() επιστρέφει -2 όταν δεν υπάρχει επαρκής μνήμη, αλλά λόγω της παράλειψης του κωδικού σφάλματος, Το σύστημα εσφαλμένα υποθέτει ότι το κλειδί κεντρικού υπολογιστή έχει επαληθευτεί σωστά

Ένας εισβολέας μπορεί έτσι να εκμεταλλευτεί αυτό το ελάττωμα δημιουργώντας έναν ψεύτικο διακομιστή SSH που στέλνει ένα μεγάλο κλειδί κεντρικού υπολογιστή (256 KB), προκαλώντας υπερβολική κατανάλωση μνήμης στον πελάτη και ενεργοποιώντας την κατάσταση σφάλματος που δεν χειρίστηκε.

CVE-2025-26466: Διαρροή μνήμης και υπερβολική κατανάλωση CPU σε SSH

Το δεύτερο θέμα ευπάθειας που διορθώθηκε είναι το CVE-2025-26466 και αυτό το θέμα ευπάθειας επηρεάζει τόσο τον πελάτη ssh όσο και τον διακομιστή sshd, από επιτρέπει την εξάντληση της μνήμης της διαδικασίας και δημιουργούν υψηλό φορτίο CPU στέλνοντας επανειλημμένα πακέτα SSH2_MSG_PING.

Ο μεγάλος αντίκτυπος αυτής της ευπάθειας έγκειται στο γεγονός ότι Μπορεί να γίνει εκμετάλλευση χωρίς έλεγχο ταυτότητας και επηρεάζει το OpenSSH από την έκδοση 9.5p1 (Αύγουστος 2023). Επιπλέον, επιτρέπει σε έναν εισβολέα να καταναλώνει πόρους του συστήματος, υποβαθμίζοντας την απόδοση και προκαλώντας ακόμη και άρνηση υπηρεσίας (DoS).

Σχετικά με τα αίτια που προκαλούν αυτή την αποτυχία, αναφέρεται ότι οφείλεται στο γεγονός ότι Κάθε εισερχόμενο πακέτο SSH2_MSG_PING 16 byte προκαλεί την εκχώρηση ενός buffer 256 byte στη μνήμη. Αυτό το buffer δεν ελευθερώνεται μέχρι να ολοκληρωθεί η συμφωνία κλειδιού, με αποτέλεσμα τη διαρροή μνήμης όταν αποστέλλονται πολλά πακέτα PING.

Μετριασμός και λύση

Ως λύση, Συνιστάται να ορίσετε περιορισμούς στο sshd_config χρησιμοποιώντας τις ακόλουθες οδηγίες:

  • LoginGraceTime: Αυτό περιορίζει το χρονικό όριο για τον έλεγχο ταυτότητας.
  • MaxStartups: περιορίζει τον αριθμό των συνδέσεων χωρίς έλεγχο ταυτότητας.
  • PerSourcePenalties: επιβάλλει κυρώσεις σε πελάτες που δημιουργούν πολλαπλές προσπάθειες σύνδεσης.

Και για το λύσεις, Το πρώτο και πιο προτεινόμενο είναι αναβάθμιση του OpenSSH στην έκδοση που έχει κυκλοφορήσει, "9.9p2" το συντομότερο δυνατό για να διορθωθούν αυτά τα τρωτά σημεία. Εάν όμως δεν είναι εφικτή η άμεση αναβάθμιση, θα πρέπει να εφαρμοστούν τα μέτρα μετριασμού που αναφέρονται παραπάνω. Επιπλέον, συνιστάται να απενεργοποιήσετε το VerifyHostKeyDNS εκτός εάν χρησιμοποιούνται αξιόπιστοι μηχανισμοί επαλήθευσης DNSSEC.

Αν είστε ενδιαφέρεται να μάθει περισσότερα για αυτό, μπορείτε να δείτε τις λεπτομέρειες στο τον ακόλουθο σύνδεσμο.

Πώς να εγκαταστήσετε το OpenSSH σε Linux;

Για όσους ενδιαφέρονται να εγκαταστήσουν αυτήν τη νέα έκδοση του OpenSSH στα συστήματά τους, για τώρα μπορούν να το κάνουν λήψη του πηγαίου κώδικα αυτού και εκτελούν τη συλλογή στους υπολογιστές τους.

Αυτό συμβαίνει επειδή η νέα έκδοση δεν έχει ακόμη συμπεριληφθεί στα αποθετήρια των κύριων διανομών Linux. Για να λάβετε τον πηγαίο κώδικα, μπορείτε να το κάνετε από τον ακόλουθο σύνδεσμο.

Έγινε η λήψη, τώρα θα αποσυμπιέσουμε το πακέτο με την ακόλουθη εντολή:

tar -xvf openssh-9.9p2.tar.gz

Μπαίνουμε στον δημιουργημένο κατάλογο:

cd openssh-9.9p2

Y μπορούμε να συντάξουμε με τις ακόλουθες εντολές:

./configure --prefix = / opt --sysconfdir = / etc / ssh make make install