Αρκετές ευπάθειες εντοπίστηκαν στο Linux Kernel σε προγράμματα οδήγησης USB και Wifi του Marvell

Tux crash !!! Σπασμένο γυαλί που αντιπροσωπεύει την ευπάθεια του Linux

Ένα Ένας από τους πιο γνωστούς μύθους στο διαδίκτυο σχετικά με το Linux είναι ο κλασικός "Το Linux είναι ασφαλές και δεν έχει τρωτά σημεία"Αλλά Το θέμα είναι ότι αυτό είναι εντελώς ψευδές αφού αποκαλύπτονται τόσο κρίσιμα όσο και μικρά σφάλματα στο Linux (όχι αυτή τη στιγμή αλλά αφού έχουν επιλυθεί).

Και τέτοια περίπτωση πρόσφατα κυκλοφόρησε η είδηση ​​ότι εντοπίστηκαν τρία τρωτά σημεία στο πρόγραμμα οδήγησης για ασύρματες συσκευές που βασίζονται σε μάρκες Marvell ( CVE-2019-14814, CVE-2019-14815, CVE-2019-14816) που θα μπορούσε να οδηγήσει σε εγγραφή δεδομένων από το εκχωρημένο buffer κατά την επεξεργασία ειδικά διαμορφωμένων πακέτων που αποστέλλονται μέσω της διεπαφής netlink.

Σχετικά με τα τρωτά σημεία της Marvell

Στην περίπτωση του Το CVE-2019-14814 αφορά μια υπερχείλιση στη συνάρτηση mwifiex_set_uap_rates() από το πρόγραμμα οδήγησης Marvell Wifi στον πυρήνα του Linux

Το πρόβλημα βρίσκεται μέσα στο mwifiex_set_uap_rates() στα προγράμματα οδήγησης/net/wireless/marvell/mwifiex/uap_cmd.c.

Υπάρχουν δύο κλήσεις memcpy σε αυτήν τη συνάρτηση για την αντιγραφή του στοιχείου WLAN_EID_SUPP_RATES και WLAN_EID_EXT_SUPP_RATES χωρίς έλεγχο του μήκους. Οι ρυθμοί bss_cfg-> dst buffer είναι ένας πίνακας μήκους MWIFIEX_SUPPORTED_RATES.

Τα δύο στοιχεία στο cfg80211_ap_settings προέρχονται από το χώρο χρήστη.

Ενώ για την περίπτωση του CVE-2019-14815 αυτή είναι μια υπερχείλιση στη συνάρτηση mwifiex_set_wmm_params() στον πυρήνα του Linux

Το πρόβλημα βρίσκεται μέσα στο mwifiex_set_wmm_params() στα προγράμματα οδήγησης/net/wireless/marvell/mwifiex/uap_cmd.c.

Η mwifiex_set_wmm_params() καλεί το memcpy για να αντιγράψει το στοιχείο WLAN_OUI_MICROSOFT στο

bss_cfg->wmm_info χωρίς έλεγχο του μήκους.

bss_cfg-> wmm_info είναι ο τύπος struct mwifiex_types_wmm_info.

Το CVE-2019-14816 με τον ίδιο τρόπο όπως τα προηγούμενα είναι μια υπερχείλιση του mwifiex_update_vs_ie () στον πυρήνα linux

Το πρόβλημα βρίσκεται μέσα στο mwifiex_update_vs_ie() στα προγράμματα οδήγησης/net/wireless/marvell/mwifiex/ie.c.

Η mwifiex_set_mgmt_beacon_data_ies() αναλύει IE beacon, IE απόκρισης ανιχνευτή,

Ο IE απόκρισης συσχέτισης από το cfg80211_ap_settings->beacon, θα καλέσει το mwifiex_update_vs_ie() δύο φορές για κάθε IE εάν υπάρχουν IE.

Για παράδειγμα, για beacon_ies, στην πρώτη κλήση, η mwifiex_update_vs_ie() εκχωρείται και, στη συνέχεια, αντιγράφεται το στοιχείο WLAN_OUI_MICROSOFT στο ie->ie_buffer,

ie-> ie_buffer είναι ένας πίνακας μήκους IEEE_MAX_IE_SIZE(256); στη δεύτερη κλήση, η mwifiex_update_vs_ie() αντιγράφει το στοιχείο WLAN_OUI_WFA που είχε εκχωρηθεί προηγουμένως. Εάν το άθροισμα του μήκους των δύο στοιχείων είναι μεγαλύτερο από IEEE_MAX_IE_SIZE, θα προκαλέσει υπερχείλιση buffer.

Προβλήματα μπορεί να αξιοποιηθεί από έναν τοπικό χρήστη για να προκαλέσει σφάλμα πυρήνα σε συστήματα που χρησιμοποιούν ασύρματες κάρτες Marvell.

Ούτε αποκλείεται το ενδεχόμενο που μπορεί ένας κακοπροαίρετος εκμεταλλεύονται αυτά τα τρωτά σημεία για να αυξήσουν τα προνόμιά τους στο σύστημα.

Αυτή τη στιγμή αυτά τα προβλήματα παραμένουν αδιόρθωτα (αν και είχαν ήδη αποκαλυφθεί πριν από αρκετές ημέρες) στις διανομές (Debian, Ubuntu, Fedora, RHEL, SUSE).

Αν και έχει ήδη προταθεί μια ενημέρωση κώδικα για συμπερίληψη στον πυρήνα του Linux για τα επόμενα λίγα Tux crash !!! Σπασμένο γυαλί που αντιπροσωπεύει την ευπάθεια του Linux

εκδόσεις.

Ευπάθειες στα προγράμματα οδήγησης USB

Ο Andrey Konovalov της Google ανακάλυψε 15 τρωτά σημεία σε ελεγκτές USB προσφέρεται στον πυρήνα του Linux.

Αυτό είναι το δεύτερο μέρος των προβλημάτων που βρέθηκαν κατά τη διάρκεια των δοκιμών fuzzing: το 2017, Αυτός ο ερευνητής βρήκε 14 ακόμη τρωτά σημεία στη στοίβα USB.

Προβλήματα μπορεί ενδεχομένως να αξιοποιηθεί όταν οι ειδικά προετοιμασμένες συσκευές USB συνδέονται σε έναν υπολογιστή.

Μια επίθεση καιΕίναι δυνατό εάν υπάρχει φυσική πρόσβαση στον υπολογιστή και μπορεί να προκαλέσει τουλάχιστον ένα σφάλμα πυρήνα, αλλά δεν αποκλείονται άλλες εκδηλώσεις (για παράδειγμα, για μια παρόμοια ευπάθεια που εντοπίστηκε το 2016, το πρόγραμμα οδήγησης USB snd-usbmidi κατάφερε να προετοιμάσει ένα exploit για την εκτέλεση κώδικα σε επίπεδο πυρήνα).

Από τα 15 προβλήματα, τα 13 έχουν ήδη διορθωθεί στις τρέχουσες ενημερώσεις του πυρήνα του Linux, αλλά δύο ευπάθειες (CVE-2019-15290, CVE-2019-15291) παραμένουν αδιόρθωτα στην τελευταία έκδοση 5.2.9.

Μη επιδιορθωμένα τρωτά σημεία θα μπορούσαν να οδηγήσουν σε αποαναφορά του δείκτη NULL στα προγράμματα οδήγησης ath6kl και b2c2 κατά τη λήψη κακών δεδομένων από τη συσκευή.

Άλλα τρωτά σημεία περιλαμβάνουν:

  • Πρόσβαση σε περιοχές μνήμης που έχουν ήδη ελευθερωθεί (χρήση-μετά-δωρεάν) σε προγράμματα οδήγησης v4l2-dev / radio-raremono, dvb-usb, ήχου / πυρήνα, cpia2 και p54usb.
  • Δωρεάν διπλή μνήμη (διπλή ελεύθερη) στον ελεγκτή rio500.
  • Αποαναφορά δείκτη NULL σε προγράμματα οδήγησης yurex, zr364xx, siano/smsusb, sisusbvga, line6/pcm, motu_microbookii και line6.

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

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

*

*

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