Patched Exim - patch again. Εκτέλεση νέας απομακρυσμένης εντολής στο Exim 4.92 σε ένα αίτημα

Patched Exim - patch again. Εκτέλεση νέας απομακρυσμένης εντολής στο Exim 4.92 σε ένα αίτημα

Πιο πρόσφατα, στις αρχές του καλοκαιριού, υπήρξαν ευρείες εκκλήσεις για ενημέρωση του Exim στην έκδοση 4.92 λόγω της ευπάθειας CVE-2019-10149 (Ενημερώστε επειγόντως το Exim σε 4.92 - υπάρχει ενεργή μόλυνση / Sudo Null IT News). Και πρόσφατα αποδείχθηκε ότι το κακόβουλο λογισμικό Sustes αποφάσισε να εκμεταλλευτεί αυτή την ευπάθεια.

Τώρα όλοι όσοι ενημερώθηκαν επειγόντως μπορούν να «χαρούν» ξανά: στις 21 Ιουλίου 2019, ο ερευνητής Zerons ανακάλυψε μια κρίσιμη ευπάθεια στο Exim Mail Transfer Agent (MTA) όταν χρησιμοποιείτε TLS για εκδόσεις από 4.80 4.92.1 να χωρίς αποκλεισμούς, επιτρέποντας απομακρυσμένη εκτέλεση κώδικα με προνομιακά δικαιώματα (CVE-2019-15846).

Τρωτό

Η ευπάθεια υπάρχει όταν χρησιμοποιείτε τις βιβλιοθήκες GnuTLS και OpenSSL κατά τη δημιουργία μιας ασφαλούς σύνδεσης TLS.

Σύμφωνα με τον προγραμματιστή Heiko Schlittermann, το αρχείο διαμόρφωσης στο Exim δεν χρησιμοποιεί TLS από προεπιλογή, αλλά πολλές διανομές δημιουργούν τα απαραίτητα πιστοποιητικά κατά την εγκατάσταση και ενεργοποιούν μια ασφαλή σύνδεση. Επίσης, οι νεότερες εκδόσεις του Exim εγκαθιστούν την επιλογή tls_advertise_hosts=* και να δημιουργήσετε τα απαραίτητα πιστοποιητικά.

εξαρτάται από τη διαμόρφωση. Οι περισσότερες διανομές το ενεργοποιούν από προεπιλογή, αλλά το Exim χρειάζεται πιστοποιητικό+κλειδί για να λειτουργήσει ως διακομιστής TLS. Μάλλον οι Distros δημιουργούν ένα Cert κατά την εγκατάσταση. Τα νεότερα Exim έχουν την επιλογή tls_advertise_hosts με προεπιλογή "*" και δημιουργούν ένα αυτο-υπογεγραμμένο πιστοποιητικό, εάν δεν παρέχεται.

Η ίδια η ευπάθεια έγκειται στη λανθασμένη επεξεργασία του SNI (Ένδειξη ονόματος διακομιστή, μια τεχνολογία που εισήχθη το 2003 στο RFC 3546 για έναν πελάτη να ζητήσει το σωστό πιστοποιητικό για ένα όνομα τομέα, Διανομή του προτύπου TLS SNI / WEBO Group Blog / Sudo Null IT News) κατά τη διάρκεια χειραψίας TLS. Ένας εισβολέας χρειάζεται απλώς να στείλει ένα SNI που τελειώνει με ανάστροφη κάθετο ("") και έναν μηδενικό χαρακτήρα (" ").

Ερευνητές από την Qualys ανακάλυψαν ένα σφάλμα στη συνάρτηση string_printing(tls_in.sni), το οποίο περιλαμβάνει εσφαλμένη διαφυγή του "". Ως αποτέλεσμα, η ανάστροφη κάθετο εγγράφεται χωρίς διαφυγή στο αρχείο κεφαλίδας της ουράς εκτύπωσης. Στη συνέχεια, αυτό το αρχείο διαβάζεται με προνομιακά δικαιώματα από τη συνάρτηση spool_read_header(), η οποία οδηγεί σε υπερχείλιση σωρού.

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

Μια πιο λεπτομερής μελέτη από την Qualys μπορεί να βρεθεί εδώ.

Patched Exim - patch again. Εκτέλεση νέας απομακρυσμένης εντολής στο Exim 4.92 σε ένα αίτημα

Χρήση SNI στο TLS

Αριθμός δυνητικά ευάλωτων δημόσιων διακομιστών

Σύμφωνα με στατιστικά από μεγάλο πάροχο φιλοξενίας E-Soft Inc από την 1η Σεπτεμβρίου, σε ενοικιαζόμενους διακομιστές, η έκδοση 4.92 χρησιμοποιείται σε περισσότερο από το 70% των κεντρικών υπολογιστών.

Εκδοχή
Αριθμός διακομιστών
Τοις εκατό

4.92.1
6471
1.28%

4.92
376436
74.22%

4.91
58179
11.47%

4.9
5732
1.13%

4.89
10700
2.11%

4.87
14177
2.80%

4.84
9937
1.96%

Άλλες εκδόσεις
25568
5.04%

Στατιστικά στοιχεία της εταιρείας E-Soft Inc

Εάν χρησιμοποιείτε μηχανή αναζήτησης Shodan, τότε από τα 5,250,000 στη βάση δεδομένων διακομιστή:

  • περίπου 3,500,000 χρησιμοποιούν το Exim 4.92 (περίπου 1,380,000 χρησιμοποιούν SSL/TLS).
  • πάνω από 74,000 χρησιμοποιώντας 4.92.1 (περίπου 25,000 χρησιμοποιώντας SSL/TLS).

Έτσι, οι δυνητικά ευάλωτοι διακομιστές Exim είναι γνωστοί και προσβάσιμοι στο κοινό 1.5M.

Patched Exim - patch again. Εκτέλεση νέας απομακρυσμένης εντολής στο Exim 4.92 σε ένα αίτημα

Αναζήτηση διακομιστών Exim στο Shodan

Προστασία

  • Η απλούστερη, αλλά δεν συνιστάται, επιλογή είναι να μην χρησιμοποιήσετε το TLS, κάτι που θα έχει ως αποτέλεσμα την προώθηση των μηνυμάτων ηλεκτρονικού ταχυδρομείου στο ξεκάθαρο.
  • Για να αποφευχθεί η εκμετάλλευση της ευπάθειας, θα ήταν προτιμότερο να γίνει ενημέρωση στην έκδοση Exim Internet Mailer 4.92.2.
  • Εάν δεν είναι δυνατή η ενημέρωση ή η εγκατάσταση μιας ενημερωμένης έκδοσης, μπορείτε να ορίσετε ένα ACL στη διαμόρφωση Exim για την επιλογή acl_smtp_mail με τους παρακάτω κανόνες:
    # to be prepended to your mail acl (the ACL referenced
    # by the acl_smtp_mail main config option)
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_sni}}}}
    deny    condition = ${if eq{}{${substr{-1}{1}{$tls_in_peerdn}}}}

Πηγή: www.habr.com