Η υπερχείλιση buffer στο OpenSSL γίνεται εκμετάλλευση κατά την επαλήθευση πιστοποιητικών X.509

Δημοσιεύτηκε μια διορθωτική έκδοση της κρυπτογραφικής βιβλιοθήκης OpenSSL 3.0.7, η οποία διορθώνει δύο ευπάθειες. Και τα δύο ζητήματα προκαλούνται από υπερχείλιση buffer στον κωδικό επικύρωσης πεδίου email στα πιστοποιητικά X.509 και μπορεί ενδεχομένως να οδηγήσουν σε εκτέλεση κώδικα κατά την επεξεργασία ενός πιστοποιητικού με ειδικό πλαίσιο. Κατά τη στιγμή της δημοσίευσης της επιδιόρθωσης, οι προγραμματιστές του OpenSSL δεν είχαν καταγράψει κανένα στοιχείο για την παρουσία ενός λειτουργικού εκμεταλλεύματος που θα μπορούσε να οδηγήσει στην εκτέλεση του κώδικα του εισβολέα.

Παρά το γεγονός ότι η ανακοίνωση πριν από την κυκλοφορία της νέας κυκλοφορίας ανέφερε την ύπαρξη ενός κρίσιμου ζητήματος, στην πραγματικότητα, στην ενημέρωση που κυκλοφόρησε η κατάσταση της ευπάθειας μειώθηκε στο επίπεδο μιας επικίνδυνης, αλλά όχι κρίσιμης ευπάθειας. Σύμφωνα με τους κανόνες που υιοθετήθηκαν στο έργο, το επίπεδο κινδύνου μειώνεται εάν το πρόβλημα εκδηλωθεί σε άτυπες διαμορφώσεις ή εάν υπάρχει μικρή πιθανότητα εκμετάλλευσης της ευπάθειας στην πράξη.

Σε αυτήν την περίπτωση, το επίπεδο σοβαρότητας μειώθηκε επειδή μια λεπτομερής ανάλυση της ευπάθειας από αρκετούς οργανισμούς κατέληξε στο συμπέρασμα ότι η δυνατότητα εκτέλεσης κώδικα κατά την εκμετάλλευση αποκλείστηκε από μηχανισμούς προστασίας από υπερχείλιση στοίβας που χρησιμοποιούνται σε πολλές πλατφόρμες. Επιπλέον, η διάταξη πλέγματος που χρησιμοποιείται σε ορισμένες διανομές Linux έχει ως αποτέλεσμα τα 4 byte που ξεφεύγουν από τα όρια να τοποθετούνται στο επόμενο buffer της στοίβας, το οποίο δεν χρησιμοποιείται ακόμη. Ωστόσο, είναι πιθανό να υπάρχουν πλατφόρμες που μπορούν να αξιοποιηθούν για την εκτέλεση κώδικα.

Ζητήματα που εντοπίστηκαν:

  • CVE-2022-3602 - μια ευπάθεια, που αρχικά παρουσιάστηκε ως κρίσιμη, οδηγεί σε υπερχείλιση buffer 4 byte κατά τον έλεγχο ενός πεδίου με μια ειδικά σχεδιασμένη διεύθυνση email σε ένα πιστοποιητικό X.509. Σε έναν πελάτη TLS, η ευπάθεια μπορεί να αξιοποιηθεί κατά τη σύνδεση σε διακομιστή που ελέγχεται από τον εισβολέα. Σε έναν διακομιστή TLS, η ευπάθεια μπορεί να αξιοποιηθεί εάν χρησιμοποιείται έλεγχος ταυτότητας πελάτη με χρήση πιστοποιητικών. Σε αυτήν την περίπτωση, η ευπάθεια εμφανίζεται στο στάδιο μετά την επαλήθευση της αλυσίδας εμπιστοσύνης που σχετίζεται με το πιστοποιητικό, δηλ. Η επίθεση απαιτεί από την αρχή έκδοσης πιστοποιητικών να επαληθεύσει το κακόβουλο πιστοποιητικό του εισβολέα.
  • Το CVE-2022-3786 είναι άλλος ένας φορέας για την εκμετάλλευση της ευπάθειας CVE-2022-3602, που εντοπίστηκε κατά την ανάλυση του προβλήματος. Οι διαφορές συνοψίζονται στην πιθανότητα υπερχείλισης ενός buffer στη στοίβα από έναν αυθαίρετο αριθμό byte που περιέχουν το "." (δηλαδή ο εισβολέας δεν μπορεί να ελέγξει τα περιεχόμενα της υπερχείλισης και το πρόβλημα μπορεί να χρησιμοποιηθεί μόνο για να προκαλέσει τη διακοπή λειτουργίας της εφαρμογής).

Τα τρωτά σημεία εμφανίζονται μόνο στον κλάδο OpenSSL 3.0.x (το σφάλμα εισήχθη στον κώδικα μετατροπής Unicode (punycode) που προστέθηκε στον κλάδο 3.0.x). Οι εκδόσεις του OpenSSL 1.1.1, καθώς και οι βιβλιοθήκες fork OpenSSL LibreSSL και BoringSSL, δεν επηρεάζονται από το πρόβλημα. Ταυτόχρονα, κυκλοφόρησε η ενημέρωση OpenSSL 1.1.1s, η οποία περιέχει μόνο διορθώσεις σφαλμάτων που δεν αφορούν την ασφάλεια.

Ο κλάδος OpenSSL 3.0 χρησιμοποιείται σε διανομές όπως Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, ​​Debian Testing/Unstable. Συνιστάται στους χρήστες αυτών των συστημάτων να εγκαταστήσουν ενημερώσεις το συντομότερο δυνατό (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). Στο SUSE Linux Enterprise 15 SP4 και στο openSUSE Leap 15.4, τα πακέτα με OpenSSL 3.0 είναι διαθέσιμα προαιρετικά, τα πακέτα συστήματος χρησιμοποιούν τον κλάδο 1.1.1. Τα Debian 1, Arch Linux, Void Linux, Ubuntu 11, Slackware, ALT Linux, RHEL 20.04, OpenWrt, Alpine Linux 8 και FreeBSD παραμένουν στους κλάδους OpenSSL 3.16.x.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο