Πρόσφατα δημοσιεύθηκαν πληροφορίες σχετικά με την αναγνώριση επτά ευπαθειών στο πακέτο Dnsmasq, το οποίο συνδυάζει έναν αναλυτή DNS προσωρινής αποθήκευσης και έναν διακομιστή DHCP, με την κωδική ονομασία DNSpooq. Αυτά τα ζητήματα επιτρέπουν ψεύτικες επιθέσεις προσωρινής αποθήκευσης DNS ή υπερχείλιση buffer που θα μπορούσαν να οδηγήσουν σε απομακρυσμένη εκτέλεση κώδικα από έναν εισβολέα.
Παρόλο που το Dnsmasq έχει πρόσφατα καταργηθεί ως ο προεπιλεγμένος αναλυτής σε τυπικές διανομές Linux, εξακολουθεί να χρησιμοποιείται σε Android και εξειδικευμένες διανομές όπως το OpenWrt και το DD-WRT, καθώς και στο υλικολογισμικό πολλών ασύρματων δρομολογητών. Σε τυπικές διανομές, είναι δυνατή η έμμεση χρήση του dnsmasq. Για παράδειγμα, όταν χρησιμοποιείται το libvirt, μπορεί να ξεκινήσει να παρέχει υπηρεσία DNS σε εικονικές μηχανές ή να ενεργοποιηθεί αλλάζοντας τις ρυθμίσεις στον διαμορφωτή NetworkManager.
Δεδομένου ότι η κουλτούρα ενημέρωσης των ασύρματων δρομολογητών αφήνει πολλά περιθώρια βελτίωσης, οι ερευνητές φοβούνται ότι τα εντοπισμένα προβλήματα ενδέχεται να παραμείνουν άλυτα για μεγάλο χρονικό διάστημα και να γίνουν στόχος αυτοματοποιημένων επιθέσεων σε δρομολογητές για να αποκτήσουν τον έλεγχό τους ή να ανακατευθύνουν τους χρήστες σε ψεύτικες κακόβουλες ιστοσελίδες.
Υπάρχουν περίπου 40 εταιρείες που βασίζονται στο Dnsmasq , συμπεριλαμβανομένων των Cisco, Comcast, Netgear, Ubiquiti, Siemens, Arista, Technicolor, Aruba, Wind River, Asus, AT&T, D-Link, Huawei, Juniper, Motorola, Synology, Xiaomi, ZTE και Zyxel. Οι χρήστες αυτών των συσκευών ενδέχεται να μην χρησιμοποιούν την ενσωματωμένη υπηρεσία προώθησης ερωτημάτων DNS.
Το πρώτο μέρος των ευπαθειών που ανακαλύφθηκαν στο Dnsmasq αφορά την προστασία από επιθέσεις δηλητηρίασης της προσωρινής μνήμης DNS, βασισμένη σε μια μέθοδο που προτάθηκε το 2008 από τον Dan Kaminsky.
Τα εντοπισμένα τρωτά σημεία καθιστούν την υπάρχουσα προστασία αναποτελεσματική και επιτρέπουν την πλαστογράφηση της διεύθυνσης IP ενός αυθαίρετου τομέα στην προσωρινή μνήμη. Η μέθοδος του Kaminsky χειρίζεται το αμελητέο μέγεθος του πεδίου αναγνώρισης του ερωτήματος DNS, το οποίο είναι μόνο 16 bit.
Για να βρεθεί το σωστό αναγνωριστικό που απαιτείται για την πλαστογράφηση του ονόματος κεντρικού υπολογιστή, αρκεί να σταλούν περίπου 7.000 αιτήματα και να προσομοιωθούν περίπου 140.000 ψεύτικες απαντήσεις. Η επίθεση συνοψίζεται στην αποστολή ενός μεγάλου αριθμού πλαστογραφημένων πακέτων που συνδέονται με IP στον αναλυτή DNS με διαφορετικά αναγνωριστικά συναλλαγών DNS.
Τα εντοπισμένα τρωτά σημεία μειώνουν το αναμενόμενο επίπεδο εντροπίας από 32 bit σε μια απαίτηση εικασίας 19 bit, καθιστώντας μια επίθεση δηλητηρίασης cache αρκετά ρεαλιστική. Επιπλέον, ο τρόπος χειρισμού των εγγραφών CNAME από το dnsmasq του επιτρέπει να πλαστογραφήσει τη συμβολοσειρά εγγραφής CNAME, πλαστογραφώντας αποτελεσματικά έως και εννέα εγγραφές DNS ταυτόχρονα.
- CVE-2020-25684: έλλειψη επικύρωσης του αναγνωριστικού αιτήματος σε συνδυασμό με τη διεύθυνση IP και τον αριθμό θύρας κατά την επεξεργασία αποκρίσεων DNS από εξωτερικούς διακομιστές. Αυτή η συμπεριφορά δεν είναι συμβατή με το RFC-5452, το οποίο απαιτεί πρόσθετα χαρακτηριστικά αιτήματος για χρήση κατά την αντιστοίχιση μιας απόκρισης.
- CVE-2020-25686: Έλλειψη επικύρωσης εκκρεμών αιτημάτων με το ίδιο όνομα, επιτρέποντας στη χρήση της μεθόδου γενεθλίων να μειώσει σημαντικά τον αριθμό των προσπαθειών που απαιτούνται για να σφυρηλατήσει μια απάντηση. Σε συνδυασμό με την ευπάθεια CVE-2020-25684, αυτή η δυνατότητα μπορεί να μειώσει σημαντικά την πολυπλοκότητα της επίθεσης.
- CVE-2020-25685: χρήση αναξιόπιστου αλγορίθμου κατακερματισμού CRC32 κατά την επαλήθευση αποκρίσεων, σε περίπτωση μεταγλώττισης χωρίς DNSSEC (το SHA-1 χρησιμοποιείται με το DNSSEC). Η ευπάθεια θα μπορούσε να χρησιμοποιηθεί για τη σημαντική μείωση του αριθμού των προσπαθειών επιτρέποντάς σας να εκμεταλλευτείτε τομείς που έχουν το ίδιο κατακερματισμό CRC32 με τον τομέα προορισμού.
- Το δεύτερο σύνολο προβλημάτων (CVE-2020-25681, CVE-2020-25682, CVE-2020-25683 και CVE-2020-25687) προκαλείται από σφάλματα που προκαλούν υπερχείλιση buffer κατά την επεξεργασία ορισμένων εξωτερικών δεδομένων.
- Για τις ευπάθειες CVE-2020-25681 και CVE-2020-25682, είναι δυνατή η δημιουργία εκμεταλλεύσεων που θα μπορούσαν να οδηγήσουν σε εκτέλεση κώδικα στο σύστημα.
Τέλος, αναφέρεται ότι τα τρωτά σημεία αντιμετωπίζονται στην ενημέρωση Dnsmasq 2.83 και, ως λύση, συνιστάται η απενεργοποίηση του DNSSEC και της προσωρινής αποθήκευσης ερωτημάτων χρησιμοποιώντας τις επιλογές γραμμής εντολών.
Πηγή: https://kb.cert.org