Βρήκαν μια ευπάθεια στα cgroups v1 που επιτρέπει την έξοδο από ένα απομονωμένο κοντέινερ

πριν ΛΙΓΕΣ μερες κυκλοφόρησε η είδηση αποκαλύφθηκαν λεπτομέρειες μια ευπάθεια που βρέθηκε στην εφαρμογή του μηχανισμού περιορισμός πόρων cgroup v1 στον πυρήνα Linux που είναι ήδη καταχωρημένος στο CVE-2022-0492.

Αυτή η ευπάθεια βρήκε sΤο e μπορεί να χρησιμοποιηθεί για έξοδο από απομονωμένα δοχεία και αναφέρεται αναλυτικά ότι το πρόβλημα υπάρχει από τον πυρήνα Linux 2.6.24.

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

Το αρχείο Το release_agent χρησιμοποιείται για τον ορισμό του προγράμματος που εκτελεί ο πυρήνας όταν μια διαδικασία τελειώνει σε μια cgroup. Αυτό το πρόγραμμα εκτελείται ως root με όλες τις "δυνατότητες" στον χώρο ονομάτων ρίζας. Μόνο ο διαχειριστής έπρεπε να έχει πρόσβαση στη διαμόρφωση release_agent, αλλά στην πραγματικότητα, οι έλεγχοι περιορίζονταν στην παραχώρηση πρόσβασης στον ριζικό χρήστη, κάτι που δεν απέκλειε την αλλαγή της διαμόρφωσης από το κοντέινερ ή από τον ριζικό χρήστη μη διαχειριστή (CAP_SYS_ADMIN ) .

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

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

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

Η επίθεση μπορεί να γίνει έχοντας δικαιώματα root σε ένα απομονωμένο δοχείο ή εκτελώντας το κοντέινερ χωρίς τη σημαία no_new_privs, η οποία απαγορεύει την απόκτηση πρόσθετων προνομίων.

Το σύστημα πρέπει να έχει ενεργοποιημένη υποστήριξη για χώρους ονομάτων χρήστη (ενεργοποιημένο από προεπιλογή στο Ubuntu και το Fedora, αλλά δεν είναι ενεργοποιημένο στο Debian και στο RHEL) και έχουν πρόσβαση στην ομάδα root v1 cgroup (για παράδειγμα, το Docker εκτελεί κοντέινερ στη ριζική cgroup RDMA). Η επίθεση είναι επίσης δυνατή με δικαιώματα CAP_SYS_ADMIN, οπότε δεν απαιτείται υποστήριξη για χώρους ονομάτων χρήστη και πρόσβαση στην ιεραρχία ρίζας του cgroup v1.

Εκτός από την έξοδο από το απομονωμένο κοντέινερ, η ευπάθεια επιτρέπει επίσης διεργασίες που ξεκίνησαν από τον χρήστη root χωρίς "ικανότητα" ή οποιονδήποτε χρήστη με δικαιώματα CAP_DAC_OVERRIDE (η επίθεση απαιτεί πρόσβαση στο αρχείο /sys/fs/cgroup/*/release_agent που ανήκει σε root) για να αποκτήσετε πρόσβαση σε όλες τις "δυνατότητες" του συστήματος.

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

Η ενότητα 42 συνιστά στους χρήστες να αναβαθμίσουν σε μια έκδοση σταθερού πυρήνα. Για όσους εκτελούν κοντέινερ, ενεργοποιήστε το Seccomp και βεβαιωθείτε ότι το AppArmor ή το SELinux είναι ενεργοποιημένο. Οι χρήστες του Prisma Cloud μπορούν να ανατρέξουν στην ενότητα "Προστασία του Prisma Cloud" για να δουν τους μετριασμούς που παρέχονται από το Prisma Cloud.

Σημειώστε ότι η ευπάθεια δεν μπορεί να εκμεταλλευτεί όταν χρησιμοποιούνται μηχανισμοί προστασίας Seccomp, AppArmor ή SELinux για πρόσθετη απομόνωση κοντέινερ, καθώς το Seccomp αποκλείει την κλήση συστήματος unshare() και το AppArmor και το SELinux δεν επιτρέπουν την προσάρτηση cgroupfs σε λειτουργία εγγραφής.

Τέλος, αξίζει να αναφέρουμε ότι διορθώθηκε στις εκδόσεις πυρήνα 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266 και 4.9.301. Μπορείτε να παρακολουθήσετε την κυκλοφορία των ενημερώσεων πακέτων σε διανομές σε αυτές τις σελίδες: DebianSUSEUbuntuRHELΜαλακό καπέλλοGentooArch Linux.

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


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

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

*

*

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