Ενημερωμένη έκδοση Exim 4.94.2 που διορθώνει 10 απομακρυσμένα εκμεταλλεύσιμα τρωτά σημεία

Η κυκλοφορία του διακομιστή αλληλογραφίας Exim 4.94.2 έχει δημοσιευτεί με την εξάλειψη 21 ευπάθειας (CVE-2020-28007-CVE-2020-28026, CVE-2021-27216), τα οποία αναγνωρίστηκαν από την Qualys και παρουσιάστηκαν με την κωδική ονομασία 21 Νύχια. 10 προβλήματα μπορούν να αξιοποιηθούν εξ αποστάσεως (συμπεριλαμβανομένης της εκτέλεσης κώδικα με δικαιώματα ρίζας) μέσω χειρισμού εντολών SMTP κατά την αλληλεπίδραση με τον διακομιστή.

Όλες οι εκδόσεις του Exim, του οποίου το ιστορικό παρακολουθείται στο Git από το 2004, επηρεάζονται από το πρόβλημα. Εργασιακά πρωτότυπα εκμεταλλεύσεων έχουν ετοιμαστεί για 4 τοπικά τρωτά σημεία και 3 απομακρυσμένα προβλήματα. Οι εκμεταλλεύσεις για τοπικά τρωτά σημεία (CVE-2020-28007, CVE-2020-28008, CVE-2020-28015, CVE-2020-28012) σάς επιτρέπουν να ανυψώσετε τα προνόμιά σας στον χρήστη root. Δύο απομακρυσμένα ζητήματα (CVE-2020-28020, CVE-2020-28018) επιτρέπουν την εκτέλεση κώδικα χωρίς έλεγχο ταυτότητας ως χρήστης του Exim (μπορείτε στη συνέχεια να αποκτήσετε πρόσβαση root εκμεταλλευόμενοι ένα από τα τοπικά τρωτά σημεία).

Η ευπάθεια CVE-2020-28021 επιτρέπει την άμεση απομακρυσμένη εκτέλεση κώδικα με δικαιώματα ρίζας, αλλά απαιτεί έλεγχο ταυτότητας (ο χρήστης πρέπει να δημιουργήσει μια επαληθευμένη περίοδο λειτουργίας, μετά την οποία μπορεί να εκμεταλλευτεί την ευπάθεια μέσω χειρισμού της παραμέτρου AUTH στην εντολή MAIL FROM). Το πρόβλημα προκαλείται από το γεγονός ότι ένας εισβολέας μπορεί να επιτύχει αντικατάσταση συμβολοσειράς στην κεφαλίδα ενός αρχείου ουράς γράφοντας την τιμή authenticated_sender χωρίς να διαφύγει σωστά τους ειδικούς χαρακτήρες (για παράδειγμα, περνώντας την εντολή "MAIL FROM:<> AUTH=Raven+0AReyes ”).

Επιπρόσθετα, σημειώνεται ότι μια άλλη απομακρυσμένη ευπάθεια, το CVE-2020-28017, είναι εκμεταλλεύσιμο για την εκτέλεση κώδικα με δικαιώματα χρήστη «exim» χωρίς έλεγχο ταυτότητας, αλλά απαιτεί περισσότερα από 25 GB μνήμης. Για τα υπόλοιπα 13 τρωτά σημεία, θα μπορούσαν δυνητικά να προετοιμαστούν και εκμεταλλεύσεις, αλλά δεν έχει γίνει ακόμη δουλειά προς αυτή την κατεύθυνση.

Οι προγραμματιστές του Exim ενημερώθηκαν για τα προβλήματα τον περασμένο Οκτώβριο και αφιέρωσαν περισσότερους από 6 μήνες για την ανάπτυξη επιδιορθώσεων. Συνιστάται σε όλους τους διαχειριστές να ενημερώσουν επειγόντως το Exim στους διακομιστές αλληλογραφίας τους στην έκδοση 4.94.2. Όλες οι εκδόσεις του Exim πριν από την κυκλοφορία του 4.94.2 έχουν κηρυχθεί παρωχημένες. Η δημοσίευση της νέας έκδοσης συντονίστηκε με διανομές που δημοσίευαν ταυτόχρονα ενημερώσεις πακέτων: Ubuntu, Arch Linux, FreeBSD, Debian, SUSE και Fedora. Οι RHEL και CentOS δεν επηρεάζονται από το πρόβλημα, καθώς το Exim δεν περιλαμβάνεται στο τυπικό αποθετήριο πακέτων τους (το EPEL δεν έχει ακόμη ενημέρωση).

Καταργήθηκαν ευπάθειες:

  • CVE-2020-28017: Υπερχείλιση ακεραίων στη συνάρτηση receive_add_recipient().
  • CVE-2020-28020: Υπερχείλιση ακέραιου αριθμού στη συνάρτηση receive_msg().
  • CVE-2020-28023: Εκτός ορίων που διαβάζεται στο smtp_setup_msg();
  • CVE-2020-28021: Αντικατάσταση νέας γραμμής στην κεφαλίδα αρχείου σε ουρά.
  • CVE-2020-28022: Γράψτε και διαβάστε σε μια περιοχή εκτός του εκχωρημένου buffer στη συνάρτηση extract_option().
  • CVE-2020-28026: Περικοπή και αντικατάσταση συμβολοσειράς στο spool_read_header();
  • CVE-2020-28019: Διακοπή λειτουργίας κατά την επαναφορά ενός δείκτη λειτουργίας μετά από σφάλμα BDAT.
  • CVE-2020-28024: Υποροή buffer στη συνάρτηση smtp_ungetc().
  • CVE-2020-28018: Χρήση μετά τη δωρεάν πρόσβαση buffer στο tls-openssl.c
  • CVE-2020-28025: Μια ανάγνωση εκτός ορίων στη συνάρτηση pdkim_finish_bodyhash().

Τοπικά τρωτά σημεία:

  • CVE-2020-28007: Επίθεση συμβολικής σύνδεσης στον κατάλογο καταγραφής Exim.
  • CVE-2020-28008: Επιθέσεις καταλόγου με ουρά.
  • CVE-2020-28014: Δημιουργία αυθαίρετου αρχείου.
  • CVE-2021-27216: Αυθαίρετη διαγραφή αρχείου.
  • CVE-2020-28011: Υπερχείλιση buffer στο queue_run();
  • CVE-2020-28010: Εγγραφή εκτός ορίων στο main();
  • CVE-2020-28013: Υπερχείλιση buffer στη συνάρτηση parse_fix_phrase();
  • CVE-2020-28016: Εγγραφή εκτός ορίων σε parse_fix_phrase();
  • CVE-2020-28015: Αντικατάσταση νέας γραμμής στην κεφαλίδα αρχείου σε ουρά.
  • CVE-2020-28012: Λείπει η σημαία στενής εκτέλεσης για έναν προνομιακό ανώνυμο σωλήνα.
  • CVE-2020-28009: Υπερχείλιση ακεραίων στη συνάρτηση get_stdinput().



Πηγή: opennet.ru

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