La δημιουργός του τείχους προστασίας OpenSnitch και τον αναλυτή δικτύου Bettercap, το έκανε γνωστό πρόσφατα το πληροφορίες σχετικά με κρίσιμα τρωτά σημεία στο ο διακομιστής εκτύπωσης CUPS και που επιτρέπουν την απομακρυσμένη εκτέλεση κώδικα χωρίς έλεγχο ταυτότητας. Αυτά τα ελαττώματα επηρεάζουν τις διανομές Linux, Solaris, FreeBSD και άλλες διανομές BSD.
Η αποκάλυψη Αρχικά ήταν προγραμματισμένο για τις 6 Οκτωβρίου, αλλά μια διαρροή ανάγκασε την αποκάλυψη να προωθηθεί πριν προλάβουν οι περισσότερες διανομές να εφαρμόσουν τις απαραίτητες ενημερώσεις κώδικα ασφαλείας.
ο Τα εντοπισμένα τρωτά σημεία είναι τα ακόλουθα:
- CVE-2024-47176: Αυτή η ευπάθεια επηρεάζει τη διαδικασία σάρωσης CUPS, το οποίο δημιουργεί μια υποδοχή δικτύου που ακούει για συνδέσεις στη θύρα 631, συνδέοντας όλες τις διεπαφές δικτύου στο σύστημα. Μέσω αυτής της θύρας δέχεται αιτήματα IPP τύπου «Get-Printer-Attributes» από εξωτερικά συστήματα. Με το χειρισμό αυτής της υπηρεσίας, Ένας εισβολέας μπορεί να προσθέσει έναν απομακρυσμένα ελεγχόμενο εκτυπωτή και να εκμεταλλευτείτε ευπάθειες σε άλλα στοιχεία CUPS μεταφέροντας κακόβουλες διαμορφώσεις PPD.
- CVE-2024-47177: Είναι ευάλωτοΤο d βρίσκεται στο πρόγραμμα οδήγησης foomatic-rip από τη συσκευασία κύπελλα-φίλτρα. Επιτρέπει την αυθαίρετη εκτέλεση κώδικα περνώντας την παράμετρο FoomaticRIPCommandLine μέσα σε ένα αρχείο PPD. Λόγω της ευπάθειας στη διαδικασία περιήγησης CUPS, ένας εισβολέας μπορεί να στείλει κακόβουλα αρχεία PPD που περιέχει εντολές φλοιού. Αυτές οι εντολές, όπως αυτές που καθορίζονται στο FoomaticRIPCommandLine, εκτελούνται χωρίς περιορισμούς.
- CVE-2024-47175: Αυτή η ευπάθεια στο libppd σχετίζεται με την έλλειψη επικύρωσης της τιμής ppdCreatePPDFromIPP2 κατά την εγγραφή χαρακτηριστικών IPP σε ένα προσωρινό αρχείο PPD. Αυτό επιτρέπει την αυθαίρετη αντικατάσταση δεδομένων στο αρχείο PPD που προκύπτει, εκμεταλλευόμενοι την εισαγωγή χαρακτηριστικών με χαρακτήρα αλλαγής γραμμής. Από εδώ, ένας εισβολέας θα μπορούσε να παρακάμψει την επικύρωση των επιτρεπόμενων χαρακτηριστικών και να εκμεταλλευτεί την ευπάθεια στα φίλτρα-κύπελλα μέσω της αντικατάστασης παραμέτρων.
- CVE-2024-47076: Αυτή η ευπάθεια επηρεάζει τη βιβλιοθήκη libcupsfilters στο πακέτο cups-filters λόγω έλλειψης επαλήθευσης των τιμών που επιστρέφονται από την εντολή cfGetPrinterAttributes5 από έναν εξωτερικό διακομιστή IPP. Ένας εισβολέας θα μπορούσε να το εκμεταλλευτεί για να επεξεργαστεί αυθαίρετα χαρακτηριστικά IPP σε άλλα υποσυστήματα CUPS, όπως η δημιουργία αρχείων PPD.
Αναφορικά με τις πληροφορίες που δόθηκαν στη δημοσιότητα, αναφέρεται ότι Η επίθεση επηρεάζει τους διακομιστές CUPS που εκτελούν τη διαδικασία περιήγησης σε cups και που δέχονται συνδέσεις δικτύου στη θύρα UDP. Επιπλέον, η επίθεση μπορεί να προέρχεται από τοπικά δίκτυα που χρησιμοποιούν τα πρωτόκολλα zeroconf, mDNS ή DNS-SD για πρόσβαση σε διακομιστές εκτύπωσης. Μόνο συστήματα όπου το αρχείο διαμόρφωσης έχει την παράμετρο BrowseRemoteProtocols που έχουν ρυθμιστεί είναι ευάλωτα.
Ο ερευνητής που ανακάλυψε την ευπάθεια ανέπτυξε ένα exploit funtional που εκμεταλλεύεται έναν συνδυασμό πολλών σφαλμάτων, τα οποία Ενεργοποιεί την απομακρυσμένη εκτέλεση κώδικα με τα προνόμια της υπεύθυνης διαδικασίας για τη διαχείριση εργασιών εκτύπωσης σε CUPS (συνήθως εκχωρούνται στον χρήστη "lp"). Αυτό το κατόρθωμα σας επιτρέπει να τροποποιήσετε τις παραμέτρους ενός εκτυπωτή χωρίς να το αντιληφθεί ο χρήστης ή προσθέστε έναν νέο εκτυπωτή συνδεδεμένο με έναν κακόβουλο διακομιστή IPP. Κατά την εκκίνηση μιας εργασίας εκτύπωσης, το αρχείο PPD που χειρίζεται ο εισβολέας μπορεί να ενεργοποιήσει την εκτέλεση του κώδικά του, κάθε φορά που το θύμα υποβάλλει μια εργασία εκτύπωσης στον παραβιασμένο ή πλαστό εκτυπωτή.
Σε πολλές διανομές Linux, εκτελούνται από προεπιλογή με περιήγηση σε cups σε μια διαμόρφωση που επιτρέπει την εκμετάλλευση. Σε συστήματα που χρησιμοποιούν systemd, μπορείτε να ελέγξετε εάν η υπηρεσία περιήγησης σε cups είναι ενεργή με την εντολή: sudo systemctl status cups-browsed.
Η ευπάθεια επηρεάζει όλα τα συστήματα εκτύπωσης που χρησιμοποιούν CUPS και ευάλωτες εκδόσεις των πακέτων του. Προς το παρόν, οι διορθώσεις είναι διαθέσιμες μόνο με τη μορφή ενημερώσεων κώδικα και οι τρέχουσες εκδόσεις έως την 2.0.1 είναι ευάλωτες. Ως προσωρινό μέτρο για τον μετριασμό του κινδύνου ενώ οι διανομές αναπτύσσουν σχετικές ενημερώσεις, μπορείτε να αποκλείσετε την πρόσβαση στη θύρα UDP 631 από εξωτερικά δίκτυα, να απενεργοποιήσετε την υπηρεσία περιήγησης σε cups ή να αλλάξετε την επιλογή BrowseRemoteProtocols σε "none".
Τέλος, Εάν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες στο παρακάτω σύνδεσμο.