Βρέθηκε μια ευπάθεια qmail που επιτρέπει την απομακρυσμένη εκμετάλλευση

Οι ερευνητές ασφάλειας της Qualys έδειξαν τη δυνατότητα εκμετάλλευσης μια ευπάθεια στον διακομιστή αλληλογραφίας qmail, γνωστό από το 2005 (CVE-2005-1513), αλλά δεν διορθώθηκε, αφού Το qmail ισχυρίστηκε ότι δεν ήταν ρεαλιστικό να δημιουργηθεί ένα work exploit που θα μπορούσε να χρησιμοποιηθεί για επίθεση σε συστήματα στην προεπιλεγμένη διαμόρφωση.

Φαίνεται όμως ότι οι προγραμματιστές του qmail έκαναν λάθος, αφού η Qualys κατάφερε να ετοιμάσει ένα exploit που καταρρίπτει αυτή την υπόθεση και επιτρέπει την απομακρυσμένη εκτέλεση κώδικα στον διακομιστή με την αποστολή ενός ειδικά διαμορφωμένου μηνύματος.

Το πρόβλημα προκαλείται από υπερχείλιση στη συνάρτηση stralloc_readyplus(), η οποία μπορεί να προκύψει κατά την επεξεργασία ενός πολύ μεγάλου μηνύματος. Για τη λειτουργία, απαιτείται ένα σύστημα 64-bit με χωρητικότητα εικονικής μνήμης άνω των 4 GB.

Στην αρχική ανάλυση της ευπάθειας το 2005, ο Daniel Bernstein υποστήριξε ότι η υπόθεση στον κώδικα ότι το μέγεθος του εκχωρημένου πίνακα ταιριάζει πάντα σε μια τιμή 32-bit βασίζεται στο γεγονός ότι κανείς δεν παρέχει gigabyte μνήμης σε κάθε διαδικασία.

Τα τελευταία 15 χρόνια, τα συστήματα 64 bit στους διακομιστές έχουν αντικαταστήσει τα 32 bit, η ποσότητα της παρεχόμενης μνήμης και το εύρος ζώνης του δικτύου έχουν αυξηθεί δραματικά.

Τα πακέτα που συνόδευαν το qmail έλαβαν υπόψη το σχόλιο του Bernstein και κατά την έναρξη της διαδικασίας qmail-smtpd, περιόρισαν τη διαθέσιμη μνήμη (για παράδειγμα, στο Debian 10, το όριο ορίστηκε στα 7 MB).

αλλά Οι μηχανικοί της Qualys ανακάλυψαν ότι αυτό δεν είναι αρκετό και εκτός από το qmail-smtpd, μπορεί να πραγματοποιηθεί απομακρυσμένη επίθεση στην τοπική διαδικασία qmail, η οποία παρέμεινε απεριόριστη σε όλα τα δοκιμασμένα πακέτα.

Ως δοκιμή, ετοιμάστηκε ένα πρωτότυπο exploit, που είναι κατάλληλο για επίθεση στο πακέτο που παρέχεται με το Debian με qmail στην προεπιλεγμένη διαμόρφωση. Για να ενορχηστρώσει την απομακρυσμένη εκτέλεση κώδικα κατά τη διάρκεια μιας επίθεσης, ο διακομιστής απαιτεί 4 GB ελεύθερου χώρου στο δίσκο και 8 GB μνήμης RAM.

Το exploit επιτρέπει την εκτέλεση οποιασδήποτε εντολής κέλυφος με τα δικαιώματα οποιουδήποτε χρήστη στο σύστημα, εκτός από τους χρήστες root και συστήματος που δεν έχουν δικό τους υποκατάλογο στον κατάλογο "/home"

Η επίθεση πραγματοποιείται με την αποστολή ενός πολύ μεγάλου μηνύματος ηλεκτρονικού ταχυδρομείου, που περιλαμβάνει πολλές γραμμές στην κεφαλίδα, μεγέθους περίπου 4 GB και 576 MB.

Κατά την επεξεργασία της εν λόγω γραμμής στο qmail-local Μια υπερχείλιση ακέραιου αριθμού εμφανίζεται όταν προσπαθείτε να παραδώσετε ένα μήνυμα σε έναν τοπικό χρήστη. Στη συνέχεια, μια υπερχείλιση ακέραιου αριθμού οδηγεί σε υπερχείλιση buffer κατά την αντιγραφή δεδομένων και τη δυνατότητα αντικατάστασης σελίδων μνήμης με κώδικα libc.

Επίσης, κατά τη διαδικασία κλήσης της qmesearch() στο qmail-local, το αρχείο ".qmail-extension" ανοίγει μέσω της συνάρτησης open(), που οδηγεί στην πραγματική εκκίνηση του συστήματος (".qmail-extension"). Επειδή όμως μέρος του αρχείου "επέκταση" σχηματίζεται με βάση τη διεύθυνση του παραλήπτη (για παράδειγμα, "localuser-extension @ localdomain"), οι εισβολείς μπορούν να ενορχηστρώσουν την έναρξη της εντολής προσδιορίζοντας τον χρήστη "localuser-; εντολή; @localdomain" ως παραλήπτης του μηνύματος.

Η ανάλυση κώδικα αποκάλυψε επίσης δύο ευπάθειες στην πρόσθετη ενημέρωση κώδικα. πλαίσιο ελέγχου για qmail, το οποίο είναι μέρος του πακέτου Debian.

  • Η πρώτη ευπάθεια (CVE-2020-3811) επιτρέπει την παράκαμψη της επαλήθευσης διεύθυνσης email και η δεύτερη (CVE-2020-3812) οδηγεί σε τοπική διαρροή πληροφοριών.
  • Η δεύτερη ευπάθεια μπορεί να χρησιμοποιηθεί για την επαλήθευση της παρουσίας αρχείων και καταλόγων στο σύστημα, συμπεριλαμβανομένων εκείνων που είναι διαθέσιμα μόνο στο root (το qmail-verify ξεκινά με δικαιώματα root) μέσω απευθείας κλήσης στο τοπικό πρόγραμμα οδήγησης.

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

Επιπλέον, έχει ετοιμαστεί ξεχωριστά μια ενημερωμένη έκδοση της ενημέρωσης κώδικα qmail. Οι προγραμματιστές της έκδοσης notqmail ετοίμασαν τις ενημερώσεις κώδικα για να μπλοκάρουν παλιά προβλήματα και άρχισαν επίσης να εργάζονται για να εξαλείψουν όλες τις πιθανές υπερχειλίσεις ακεραίων στον κώδικα.

πηγή: https://www.openwall.com/


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.