Μια κρίσιμη ευπάθεια στο sudo επιτρέπει να αποκτήσετε δικαιώματα root

Ο Οι ερευνητές ασφαλείας Qualys εντόπισαν μια κρίσιμη ευπάθεια (CVE-2021-3156) στο sudo βοηθητικό πρόγραμμα, το οποίο έχει σχεδιαστεί για να οργανώνει την εκτέλεση εντολών για λογαριασμό άλλων χρηστών.

Τρωτό επιτρέπει μη εξουσιοδοτημένη πρόσβαση με δικαιώματα root. Το πρόβλημα μπορεί να χρησιμοποιηθεί από οποιονδήποτε χρήστη, ανεξάρτητα από την παρουσία στις ομάδες συστήματος και την παρουσία μιας καταχώρησης στο αρχείο / etc / sudoers.

Η επίθεση δεν απαιτεί την εισαγωγή του κωδικού πρόσβασης του χρήστη, Δηλαδή, η ευπάθεια μπορεί να χρησιμοποιηθεί από ένα εξωτερικό άτομο για την αύξηση των προνομίων στο σύστημα μετά την παραβίαση της ευπάθειας σε μια μη προνομιακή διαδικασία (συμπεριλαμβανομένων εκείνων που ξεκίνησαν με τον χρήστη "κανείς").

Για να αναζητήσετε μια ευπάθεια στο σύστημά σας, απλώς εκτελέστε την εντολή "sudoedit -s /" και υπάρχει η ευπάθεια εάν εμφανιστεί ένα μήνυμα σφάλματος που ξεκινά με "sudoedit:".

Σχετικά με την ευπάθεια

Η ευπάθεια εμφανίστηκε από τον Ιούλιο του 2011 και οφείλεται σε υπερχείλιση buffer στο χειρισμό των χαρακτήρων διαφυγής γραμμής σε παραμέτρους που προορίζονται να εκτελέσουν εντολές σε λειτουργία κελύφους. Η λειτουργία κελύφους ενεργοποιείται καθορίζοντας τα ορίσματα "-i" ή "-s" και προκαλεί την εκτέλεση της εντολής απευθείας, αλλά μέσω μιας πρόσθετης κλήσης κελύφους με τη σημαία "-c" ("εντολή sh -c»).

Η ουσία είναι ότι όταν το βοηθητικό πρόγραμμα sudo εκτελείται κανονικά, ξεφεύγει από τους ειδικούς χαρακτήρες καθορίζοντας τις επιλογές "-i" και "-s", αλλά όταν ξεκινά το βοηθητικό πρόγραμμα sudoedit, οι παράμετροι δεν ξεφεύγουν, όπως parse_args () Η συνάρτηση ορίζει τη μεταβλητή περιβάλλοντος MODE_EDIT αντί για MODE_SHELL και δεν επαναφέρει την τιμή του "valid_flags".

Με τη σειρά του, Η μετάδοση χαρακτήρων χωρίς διαφυγή δημιουργεί συνθήκες για να εμφανιστεί ένα άλλο σφάλμα στον ελεγκτή, ο οποίος αφαιρεί τους χαρακτήρες διαφυγής πριν ελέγξει τους κανόνες sudoer.

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

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

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

Οι ερευνητές ασφαλείας της Qualys κατάφεραν να προετοιμάσουν τρία κατορθώματα, των οποίων το έργο βασίζεται στην επανεγγραφή του περιεχομένου των δομών sudo_hook_entry, service_user και def_timestampdir:

  • Με την ακύρωση του sudo_hook_entry ένα δυαδικό όνομα "SYSTEMD_BYPASS_USERDB" θα μπορούσε να εκτελεστεί ως root.
  • Η παράκαμψη service_user κατάφερε να εκτελέσει τον αυθαίρετο κώδικα ως root.
  • Με την παράκαμψη του def_timestampdir, ήταν δυνατή η εκκαθάριση των περιεχομένων της στοίβας sudo, συμπεριλαμβανομένων των μεταβλητών περιβάλλοντος, στο αρχείο / etc / passwd και η επίτευξη της αντικατάστασης του χρήστη με δικαιώματα root.

Οι ερευνητές έχουν δείξει ότι η εκμετάλλευση λειτουργεί για να λάβετε πλήρη δικαιώματα root στο Ubuntu 20.04, το Debian 10 και το Fedora 33.

Τρωτό μπορεί να αξιοποιηθεί σε άλλα λειτουργικά συστήματα και διανομές, αλλά η επαλήθευση των ερευνητών περιορίστηκε στα Ubuntu, Debian και Fedora, ενώ αναφέρεται ότι επηρεάζονται όλες οι εκδόσεις sudo 1.8.2 έως 1.8.31p2 και 1.9.0 έως 1.9.5p1 στις προεπιλεγμένες ρυθμίσεις. Προτεινόμενη λύση σε sudo 1.9.5p2.

Οι ερευνητές έχουν ενημερώσει τους προγραμματιστές εκ των προτέρων διανομείς που έχουν ήδη κυκλοφορήσει ενημερώσεις πακέτων με συντονισμένο τρόπο: Debian, RHEL, Fedor, Ubuntu, SUSE / openSUSE, Arch Linux, Slackware, Gentoo και FreeBSD.

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


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

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

*

*

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