Εντοπίστηκαν δύο ευπάθειες στον πυρήνα του Linux που επέτρεπαν στους χρήστες να αυξήσουν τα προνόμιά τους 

ευπάθεια

Εάν γίνουν αντικείμενο εκμετάλλευσης, αυτά τα ελαττώματα μπορούν να επιτρέψουν στους εισβολείς να αποκτήσουν μη εξουσιοδοτημένη πρόσβαση σε ευαίσθητες πληροφορίες ή γενικά να προκαλέσουν προβλήματα

Πριν λίγες μέρες κυκλοφόρησε η είδηση Εντοπίστηκαν δύο ευπάθειες σε τα υποσυστήματα του πυρήνας του Linux, Netfilter και io_uring, τα οποία επιτρέπουν σε έναν τοπικό χρήστη να αυξήσει τα προνόμιά του στο σύστημα.

Το πρώτο είναι η ευπάθεια. (CVE-2023-32233) που εντοπίστηκε στο υποσύστημα Netfilter και προκαλείται από την πρόσβαση στη μνήμη μετά τη χρήση στη μονάδα nf_tables, η οποία διασφαλίζει τη λειτουργία του φίλτρου πακέτων nftables.

Αυτό το σφάλμα οφείλεται στο ότι το netfilter nf_tables επιτρέπει την ενημέρωση της διαμόρφωσής του για αιτήματα παρτίδας που ομαδοποιούνται πολλαπλές βασικές λειτουργίες στις ατομικές συναλλαγές.

το πρόβλημα έχει αναπαραχθεί σε διάφορες εκδόσεις του πυρήνα Linux, συμπεριλαμβανομένου του Linux 6.3.1 (τρέχον σταθερό) και η ευπάθεια μπορεί να αξιοποιηθεί με την αποστολή ειδικά διαμορφωμένων αιτημάτων για ενημέρωση της διαμόρφωσης nftables. Αναφέρεται ότι η επίθεση απαιτεί πρόσβαση σε nftables, τα οποία μπορούν να ληφθούν σε ξεχωριστό χώρο ονομάτων δικτύου εάν έχετε τα δικαιώματα CLONE_NEWUSER, CLONE_NEWNS ή CLONE_NEWNET (για παράδειγμα, εάν μπορείτε να εκτελέσετε ένα απομονωμένο κοντέινερ).

Σε αυτό το σφάλμα, ο ερευνητής που εντόπισε το πρόβλημα υποσχέθηκε να αναβάλει για μια εβδομάδα τη δημοσίευση λεπτομερών πληροφοριών και ενός παραδείγματος ενός λειτουργικού exploit που παρέχει ένα ριζικό κέλυφος.

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

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

Το δεύτερο σφάλμα που εντοπίστηκε, ήταν η ευπάθεια (CVE-2023-2598) σε την υλοποίηση της ασύγχρονης διεπαφής I/O io_uring περιλαμβάνεται στον πυρήνα του Linux από την έκδοση 5.1.

Το πρόβλημα προκαλείται από ένα σφάλμα στη συνάρτηση io_sqe_buffer_register, το οποίο επιτρέπει την πρόσβαση στη φυσική μνήμη εκτός των ορίων ενός στατικά εκχωρημένου buffer. Το ζήτημα εμφανίζεται μόνο στον κλάδο 6.3 και θα διορθωθεί στην επόμενη ενημέρωση 6.3.2.

Αναφέρεται ότι η ιδέα πίσω από την αρχική δέσμευση είναι ότι αντί να χωρίζετε μεγάλες σελίδες που είναι αποθηκευμένες στην προσωρινή μνήμη σε μεμονωμένες καταχωρήσεις bvec, μπορείτε να έχετε μία μόνο καταχώρηση bvec για όλα τα μέρη της σελίδας στην προσωρινή μνήμη. Συγκεκριμένα, εάν όλες οι σελίδες στον χάρτη προσωρινής αποθήκευσης χρησιμοποιούν τη δομή της πρώτης σελίδας και το μήκος της προσωρινής μνήμης σε μία μόνο καταχώρηση bvec αντί να αντιστοιχίζουν κάθε σελίδα ξεχωριστά.

Έτσι, το bvec θα επεκταθεί πολύ πέρα ​​από τη μεμονωμένη σελίδα που στην πραγματικότητα επιτρέπεται να αγγίξει. Αργότερα, τα IORING_OP_READ_FIXED και IORING_OP_WRITE_FIXED μας επιτρέπουν να διαβάζουμε και να γράφουμε στην προσωρινή μνήμη (δηλαδή, τη μνήμη που δείχνει το bvec) κατά βούληση. Αυτό επιτρέπει την πρόσβαση ανάγνωσης/εγγραφής στη φυσική μνήμη πίσω από τη μοναδική σελίδα που έχουμε στην πραγματικότητα.

Η δημοσίευση ευπάθειας αναφέρει τα βήματα αναπαραγωγής σφαλμάτων:

1. Δημιουργήστε ένα memfd
2. Σφάλμα μίας σελίδας σε αυτό το περιγραφικό αρχείου
3. Χρησιμοποιήστε το MAP_FIXED για να αντιστοιχίσετε αυτή τη σελίδα επανειλημμένα, σε διαδοχικές τοποθεσίες
4. Καταχωρίστε ολόκληρη την περιοχή που μόλις συμπληρώσατε με αυτήν τη σελίδα ως
ένα σταθερό buffer με IORING_REGISTER_BUFFERS
5. Χρησιμοποιήστε το IORING_OP_WRITE_FIXED για να γράψετε το buffer σε κάποιο άλλο αρχείο
(OOB read) ή IORING_OP_READ_FIXED για ανάγνωση δεδομένων στο buffer (
Γράψτε OOB).

Τέλος αξίζει να αναφέρουμε ότι είναι ήδη διαθέσιμο  ένα λειτουργικό πρωτότυπο exploit (CVE-2023-2598) για δοκιμή, επιτρέποντάς σας να εκτελείτε κώδικα με δικαιώματα πυρήνα.

Τρωτό (CVE-2023-32233) Διορθώθηκε στην ενημέρωση 6.4-rc και μπορείτε να ακολουθήσετε την επιδιόρθωση ευπάθειας στις διανομές στις σελίδες: DebianUbuntuGentooRHELΜαλακό καπέλλοSUSE/openSUSEαψίδα.


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

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

*

*

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