Ευπάθεια στη στοίβα IPv6 του πυρήνα Linux που επιτρέπει την απομακρυσμένη εκτέλεση κώδικα

Έχουν αποκαλυφθεί πληροφορίες σχετικά με την ευπάθεια CVE-2023-6200) στη στοίβα δικτύου του πυρήνα Linux, η οποία, υπό ορισμένες συνθήκες, επιτρέπει σε έναν εισβολέα από ένα τοπικό δίκτυο να επιτύχει την εκτέλεση του κώδικά του στέλνοντας ένα ειδικά σχεδιασμένο πακέτο ICMPv6 με ένα μήνυμα RA (Διαφήμιση δρομολογητή) που προορίζεται να διαφημίσει πληροφορίες σχετικά με το δρομολογητή.

Η ευπάθεια μπορεί να αξιοποιηθεί μόνο από το τοπικό δίκτυο και εμφανίζεται σε συστήματα με ενεργοποιημένη υποστήριξη IPv6 και ενεργή την παράμετρο sysctl "net.ipv6.conf.<network_interface_name>.accept_ra" (μπορεί να ελεγχθεί με την εντολή "sysctl net.ipv6.conf | grep accept_ra”), το οποίο είναι απενεργοποιημένο από προεπιλογή στο RHEL και στο Ubuntu για εξωτερικές διεπαφές δικτύου, αλλά είναι ενεργοποιημένο για τη διεπαφή loopback, η οποία επιτρέπει μια επίθεση από το ίδιο σύστημα.

Η ευπάθεια προκαλείται από μια κατάσταση κούρσας όταν ο συλλέκτης απορριμμάτων επεξεργάζεται παλιές εγγραφές fib6_info, οι οποίες μπορούν να οδηγήσουν σε πρόσβαση σε μια ήδη ελευθερωμένη περιοχή μνήμης (χρήση-μετά-ελεύθερη). Κατά τη λήψη ενός πακέτου ICMPv6 με ένα διαφημιστικό μήνυμα δρομολογητή (RA, Router Advertisement), η στοίβα δικτύου καλεί τη συνάρτηση ndisc_router_discovery(), η οποία, εάν το μήνυμα RA περιέχει πληροφορίες σχετικά με τη διάρκεια ζωής της διαδρομής, καλεί τη συνάρτηση fib6_set_expires() και συμπληρώνει τη συνάρτηση gc_link δομή. Για να καθαρίσετε τις παρωχημένες καταχωρήσεις, χρησιμοποιήστε τη συνάρτηση fib6_clean_expires(), η οποία αποσπά την καταχώρηση στο gc_link και διαγράφει τη μνήμη που χρησιμοποιείται από τη δομή fib6_info. Σε αυτήν την περίπτωση, υπάρχει μια συγκεκριμένη στιγμή που η μνήμη για τη δομή fib6_info έχει ήδη ελευθερωθεί, αλλά ο σύνδεσμος προς αυτήν συνεχίζει να βρίσκεται στη δομή gc_link.

Η ευπάθεια εμφανίστηκε ξεκινώντας από τον κλάδο 6.6 και επιδιορθώθηκε στις εκδόσεις 6.6.9 και 6.7. Η κατάσταση της διόρθωσης της ευπάθειας στις διανομές μπορεί να αξιολογηθεί σε αυτές τις σελίδες: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Μεταξύ των διανομών που αποστέλλουν πακέτα με τον πυρήνα 6.6, μπορούμε να σημειώσουμε τα Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva και Manjaro. Για παράδειγμα, στο Debian αναφέρεται ότι το πακέτο με τον πυρήνα 6.5.13 είναι ευάλωτο, ενώ η προβληματική αλλαγή εμφανίστηκε στον κλάδο 6.6). Ως λύση ασφαλείας, μπορείτε να απενεργοποιήσετε το IPv6 ή να ορίσετε τις παραμέτρους "net.ipv0.conf.*.accept_ra" σε 6.

Πηγή: opennet.ru

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