Ανακάλυψαν μια ευπάθεια στο υποσύστημα Linux eBPF

Πρόσφατα τα νέα το έσπασαν εντοπίστηκε μια ευπάθεια (CVE-2021-29154) στο υποσύστημα eBPF, το οποίο σΕπιτρέπει την εκτέλεση εντοπισμού, ανάλυσης υποσυστήματος και ελεγκτών ελέγχου κυκλοφορίας τρέχει μέσα στον πυρήνα Linux σε μια ειδική εικονική μηχανή JIT που επιτρέπει σε έναν τοπικό χρήστη να εκτελέσει τον κωδικό σας σε επίπεδο πυρήνα.

Σύμφωνα με τους ερευνητές που εντόπισαν την ευπάθεια, κατάφεραν να αναπτύξουν ένα λειτουργικό πρωτότυπο ενός exploit για συστήματα 86-bit και 32-bit x64 που μπορούν να χρησιμοποιηθούν από έναν μη προνομιούχο χρήστη.

Ταυτόχρονα, Η Red Hat σημειώνει ότι η σοβαρότητα του προβλήματος εξαρτάται από τη διαθεσιμότητα της κλήσης συστήματος eBPF. για τον χρήστη. Για παράδειγμα, στο RHEL και στις περισσότερες άλλες διανομές Linux από προεπιλογή, η ευπάθεια μπορεί να αξιοποιηθεί όταν είναι ενεργοποιημένο το BPF JIT και ο χρήστης έχει δικαιώματα CAP_SYS_ADMIN.

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

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

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

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

Ιδιαίτερα Αυτή δεν είναι η μόνη ευπάθεια στο υποσύστημα eBPF που έγινε γνωστό τα τελευταία χρόνια, από τα τέλη Μαρτίου, εντοπίστηκαν δύο ακόμη ευπάθειες στον πυρήνα (CVE-2020-27170, CVE-2020-27171), που παρέχουν τη δυνατότητα χρήσης του eBPF για παράκαμψη προστασίας έναντι ευπαθειών κατηγορίας Spectre, οι οποίες επιτρέπουν τον προσδιορισμό του περιεχομένου της μνήμης του πυρήνα και που οδηγεί στη δημιουργία συνθηκών για την κερδοσκοπική εκτέλεση ορισμένων λειτουργιών.

Η επίθεση Specter απαιτεί την παρουσία μιας συγκεκριμένης ακολουθίας εντολών στον προνομιακό κώδικα, η οποία οδηγεί σε κερδοσκοπική εκτέλεση οδηγιών. Στο eBPF, έχουν βρεθεί διάφοροι τρόποι να δημιουργήσουν τέτοιες οδηγίες μέσω χειρισμών με προγράμματα BPF που μεταδίδονται για την εκτέλεσή τους.

  • Η ευπάθεια CVE-2020-27170 προκαλείται από χειρισμούς δείκτη στο BPF checker, το οποίο προκαλεί κερδοσκοπικές λειτουργίες για πρόσβαση σε μια περιοχή εκτός του buffer.
  • Η ευπάθεια CVE-2020-27171 σχετίζεται με ένα ακέραιο σφάλμα underflow όταν εργάζεστε με δείκτες, οδηγώντας σε κερδοσκοπική πρόσβαση σε δεδομένα εκτός buffer.

Αυτά τα ζητήματα έχουν ήδη επιδιορθωθεί στις εκδόσεις πυρήνα 5.11.8, 5.10.25, 5.4.107, 4.19.182 και 4.14.227 και έχουν συμπεριληφθεί στις ενημερώσεις του πυρήνα για τις περισσότερες διανομές Linux. Οι ερευνητές έχουν ετοιμάσει ένα πρωτότυπο εκμετάλλευσης που επιτρέπει σε έναν μη προνομιούχο χρήστη να ανακτήσει δεδομένα από τη μνήμη του πυρήνα.

Όσον αφορά μια από τις λύσεις που που προτείνεται στο Red Hat είναι:

Μείωση:

Αυτό το πρόβλημα δεν επηρεάζει από προεπιλογή τα περισσότερα συστήματα. Ένας διαχειριστής θα έπρεπε να έχει επιτρέψει να επηρεαστεί το JIT BPF.

Μπορεί να απενεργοποιηθεί αμέσως με την εντολή:

# echo 0 > /proc/sys/net/core/bpf_jit_enable

Ή μπορεί να απενεργοποιηθεί για όλες τις επόμενες εκκινήσεις συστήματος, ορίζοντας μια τιμή στο /etc/sysctl.d/44-bpf -jit-disable

## start file ##
net.core.bpf_jit_enable=0</em>
end file ##

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

Αξίζει να σημειωθεί ότι το πρόβλημα παραμένει μέχρι την έκδοση 5.11.12 (χωρίς αποκλεισμούς) και δεν έχει ακόμη επιλυθεί στις περισσότερες διανομές, παρόλο που η διόρθωση έχει ήδη τεθεί. διατίθεται ως ενημερωμένη έκδοση κώδικα.


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

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

*

*

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