Ευπάθειες στο FreeBSD, το IPnet και το Nucleus NET που σχετίζονται με σφάλματα κατά την εφαρμογή συμπίεσης DNS

Οι ερευνητικές ομάδες Forescout Research Labs και JSOF Research δημοσίευσαν τα αποτελέσματα μιας κοινής μελέτης για την ασφάλεια διαφόρων υλοποιήσεων του συστήματος συμπίεσης που χρησιμοποιείται για τη συσκευασία διπλών ονομάτων σε μηνύματα DNS, mDNS, DHCP και IPv6 RA (συσκευασία διπλότυπων τμημάτων τομέα σε μηνύματα που περιλαμβάνουν πολλά ονόματα). Κατά τη διάρκεια της εργασίας, εντοπίστηκαν 9 τρωτά σημεία, τα οποία συνοψίζονται με την κωδική ονομασία NAME:WRECK.

Έχουν εντοπιστεί προβλήματα στο FreeBSD, καθώς και στα υποσυστήματα δικτύωσης IPnet, Nucleus NET και NetX, τα οποία έχουν γίνει ευρέως διαδεδομένα στα λειτουργικά συστήματα VxWorks, Nucleus και ThreadX σε πραγματικό χρόνο που χρησιμοποιούνται σε συσκευές αυτοματισμού, αποθήκευση, ιατρικές συσκευές, ηλεκτρονικά συστήματα, εκτυπωτές και ηλεκτρονικά είδη ευρείας κατανάλωσης. Υπολογίζεται ότι τουλάχιστον 100 εκατομμύρια συσκευές επηρεάζονται από τα τρωτά σημεία.

  • Μια ευπάθεια στο FreeBSD (CVE-2020-7461) κατέστησε δυνατή την οργάνωση της εκτέλεσης του κώδικά του στέλνοντας ένα ειδικά σχεδιασμένο πακέτο DHCP σε εισβολείς που βρίσκονται στο ίδιο τοπικό δίκτυο με το θύμα, η επεξεργασία του οποίου από έναν ευάλωτο πελάτη DHCP σε υπερχείλιση buffer. Το πρόβλημα μετριάστηκε από το γεγονός ότι η διαδικασία dhclient στην οποία υπήρχε η ευπάθεια εκτελούνταν με δικαιώματα επαναφοράς σε ένα απομονωμένο περιβάλλον Capsicum, το οποίο απαιτούσε τον εντοπισμό άλλης ευπάθειας για έξοδο.

    Η ουσία του σφάλματος έγκειται στον εσφαλμένο έλεγχο των παραμέτρων, στο πακέτο που επιστρέφεται από τον διακομιστή DHCP με την επιλογή DHCP 119, η οποία σας επιτρέπει να μεταφέρετε τη λίστα "αναζήτησης τομέα" στον επιλύτη. Ο λανθασμένος υπολογισμός του μεγέθους της προσωρινής μνήμης που απαιτείται για την υποδοχή μη συσκευασμένων ονομάτων τομέα οδήγησε στην εγγραφή πληροφοριών ελεγχόμενων από τον εισβολέα πέρα ​​από το εκχωρημένο buffer. Στο FreeBSD, το πρόβλημα επιδιορθώθηκε τον Σεπτέμβριο του περασμένου έτους. Το πρόβλημα μπορεί να εκμεταλλευτεί μόνο εάν έχετε πρόσβαση στο τοπικό δίκτυο.

  • Μια ευπάθεια στην ενσωματωμένη στοίβα δικτύωσης IPnet που χρησιμοποιείται στο RTOS VxWorks επιτρέπει την πιθανή εκτέλεση κώδικα στην πλευρά του πελάτη DNS λόγω ακατάλληλου χειρισμού της συμπίεσης μηνυμάτων DNS. Όπως αποδείχθηκε, αυτή η ευπάθεια εντοπίστηκε για πρώτη φορά από το Exodus το 2016, αλλά δεν επιδιορθώθηκε ποτέ. Ένα νέο αίτημα προς τη Wind River έμεινε επίσης αναπάντητο και οι συσκευές IPnet παραμένουν ευάλωτες.
  • Έξι ευπάθειες εντοπίστηκαν στη στοίβα Nucleus NET TCP/IP, που υποστηρίζεται από τη Siemens, δύο από τα οποία θα μπορούσαν να οδηγήσουν σε απομακρυσμένη εκτέλεση κώδικα και τέσσερα θα μπορούσαν να οδηγήσουν σε άρνηση υπηρεσίας. Το πρώτο επικίνδυνο πρόβλημα σχετίζεται με ένα σφάλμα κατά την αποσυμπίεση συμπιεσμένων μηνυμάτων DNS και το δεύτερο σχετίζεται με εσφαλμένη ανάλυση ετικετών ονομάτων τομέα. Και τα δύο προβλήματα οδηγούν σε υπερχείλιση buffer κατά την επεξεργασία των ειδικά διαμορφωμένων αποκρίσεων DNS.

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

  • Η ευπάθεια στη στοίβα δικτύου NetX (Azure RTOS NetX), που αναπτύχθηκε για το ThreadX RTOS και άνοιξε το 2019 μετά την εξαγορά από τη Microsoft, περιορίστηκε στην άρνηση υπηρεσίας. Το πρόβλημα προκαλείται από ένα σφάλμα κατά την ανάλυση συμπιεσμένων μηνυμάτων DNS στην υλοποίηση του προγράμματος επίλυσης.

Από τις δοκιμασμένες στοίβες δικτύου στις οποίες δεν βρέθηκαν ευπάθειες που να σχετίζονται με τη συμπίεση επαναλαμβανόμενων δεδομένων σε μηνύματα DNS, ονομάστηκαν τα ακόλουθα έργα: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread και FNET. Επιπλέον, τα δύο πρώτα (Nut/Net και lwIP) δεν υποστηρίζουν καθόλου συμπίεση σε μηνύματα DNS, ενώ τα άλλα εφαρμόζουν αυτήν τη λειτουργία χωρίς σφάλματα. Επιπλέον, σημειώνεται ότι προηγουμένως οι ίδιοι ερευνητές είχαν ήδη εντοπίσει παρόμοια τρωτά σημεία στις στοίβες Treck, uIP και PicoTCP.

Πηγή: opennet.ru

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