ΑρχικήsecurityΚι όμως, η διαδικασία ενημέρωσης του Drupal περιέχει πολλαπλά bugs!

Κι όμως, η διαδικασία ενημέρωσης του Drupal περιέχει πολλαπλά bugs!

Ο Fernando Arnaboldi της IOActive σήμανε συναγερμό για τρεις σημαντικές αδυναμίες στη διαδικασία ενημέρωσης του Drupal που μπορεί να επιτρέψει στους χάκερ να «δηλητηριάσουν» τις εγκαταστάσεις του Drupal μέσω πακέτων ενημέρωσης και σε μια χειρότερη περίπτωση, ακόμη και να πάρουν τον έλεγχο των servers.

drupal
Το DrupaΙ, ένα από τα τρία πρώτα CMSs του Διαδικτύου, δεν είναι τόσο δημοφιλές όσο το WordPress και το Joomla, αλλά είναι ένα από τα αγαπημένα εργαλεία για την κατασκευή μεγάλης κλίμακας, έτοιμων επιχειρήσεων και άκρως προσαρμόσιμων ιστοσελίδων.
Ακριβώς όπως και κάθε σύγχρονο CMS αυτές τις μέρες, το DrupaΙ μπορεί να ενημερώνεται από την διοικητική ομάδα backend του, απλά πατώντας ένα κουμπί. Για να κάνει τα πράγματα ακόμη πιο εύκολα για τους πολυάσχολους διαχειριστές της ιστοσελίδας, το CMS είναι, επίσης, εφοδιασμένο με αυτόματο ελεγκτή ενημερώσεων, τόσο για τον πυρήνα του όσο και για τα κομμάτια από τα οποία απαρτίζεται. Αυτό επιτρέπει στους διαχειριστές να γνωρίζουν πότε μια νέα έκδοση διατίθεται και τους επιτρέπει να εφαρμόσουν γρήγορα το πακέτο των ενημερωμένων εκδόσεων και να προχωρήσει σε άλλα πιο σημαντικά πράγματα.
Σύμφωνα με τον κύριο Arnaboldi, υπάρχουν τρία προβλήματα με τον τρόπο που χειρίζεται το Drupal αυτήν τη διαδικασία ενημέρωσης, ελαττώματα για τα οποία δεν υπάρχουν τρέχουσες διορθώσεις.
Το πρώτο θέμα έχει να κάνει με την ενημέρωση των αποτυχημένων ερωτημάτων. Λόγω των διαφόρων θεμάτων σύνδεσης, οι ιστοσελίδες του Drupal μπορεί μερικές φορές να αποτύχουν κατά τον έλεγχο μιας ενημερωμένης έκδοσης. Το πρόβλημα είναι ότι, όταν συμβεί αυτό, το CMS εμφανίζει το μήνυμα “Όλα τα projects είναι ενημερωμένα”, αντί να δηλώσει σαφώς ότι η ενημέρωση απέτυχε να ολοκληρωθεί.
Το πρόβλημα αυτό μπορεί να χρησιμοποιηθεί από τους επιτιθέμενους ώστε να κατακλύσουν τα τοπικά δίκτυα κυκλοφορίας όταν μια διαδικασία ενημέρωσης λαμβάνει χώρα, αναγκάζοντας το CMS να εκτυπώνει μια λανθασμένη κατάσταση ενημέρωσης στο backend.
Σε λιγότερο παρανοϊκά σενάρια, αυτό το ίδιο το πρόβλημα ενδέχεται να ξεγελάσει τον διαχειριστή του Drupal πιστεύοντας ότι το site του είναι ενημερωμένο, ενώ στην πραγματικότητα παραμένει ευάλωτο σε δεκάδες επικίνδυνα σφάλματα, τα οποία μπορεί γρήγορα να πολλαπλασιαστούν, όταν το CMS δεν είναι σωστά ενημερωμένο.
Αυτή η αποτυχία στο να εκτυπώνει το κατάλληλο μήνυμα κατάστασης ενημέρωσης επηρεάζει και τις δύο σημαντικές εκδόσεις του DrupaΙ, 7.x και 8.x.
Το δεύτερο θέμα που περιέγραψε ο κύριος Arnaboldi έχει να κάνει με το κουμπί “Χειροκίνητος έλεγχος” που περιλαμβάνεται στη σελίδα ενημέρωσης του DrupaΙ. Αυτό το κουμπί επιτρέπει στους διαχειριστές ενός site να ελέγχουν για νέες ενημερώσεις και να εφαρμόσουν αργότερα την ενημερωμένη έκδοση.
Δυστυχώς, αυτό το συγκεκριμένο κουμπί είναι ευάλωτο σε CSRF(Cross-Site Request Forgery) επιθέσεις.
«Δεδομένου ότι υπάρχει μια CSRF ευπάθεια στη λειτουργία “Χειροκίνητος έλεγχος”, αυτό θα μπορούσε να χρησιμοποιηθεί ως μία server-side request forgery (SSRF) επίθεση εναντίον του drupal.org», εξήγησε ο κύριος Arnaboldi. «Οι διαχειριστές μπορούν απρόθυμα να αναγκάσουν τους κεντρικούς υπολογιστές τους να ζητήσουν απεριόριστες ποσότητες πληροφοριών από το updates.drupal.org για να καταναλώνουν network bandwidth.»
Μόνο οι Drupal εκδόσεις από την 6.x και 7.x έκδοση επηρεάζονται. Η αυτόματη ενημέρωση του Drupal 8.x είναι CSRF bug-free.

Αλλά αυτά τα δύο σφάλματα δεν είναι και τόσο επικίνδυνα αν σκεφτεί κανείς τι μπορούν να κάνουν πραγματικά. Από την άλλη πλευρά, το τρίτο μειονέκτημα είναι περισσότερο κρίσιμο και έχει να κάνει με το γεγονός ότι η διαδικασία ενημέρωσης του Drupal είναι χωρίς κρυπτογράφηση.
Αποστέλλοντας τα πάντα σε απλό κείμενο, ένας εισβολέας που βρίσκεται στο τοπικό δίκτυο ως ένας μολυσμένος υπολογιστής μπορεί να παρακολουθεί την κυκλοφορία μεταξύ του Drupal CMS και των διακομιστών drupal.org και να ανιχνεύει το πότε μια διαδικασία ενημέρωσης ξεκινά.
Στη συνέχεια, μπορεί να ξεκινήσει μια απλή MitM (Man-in-the-middle) επίθεση, ψεύτικες επικοινωνίες και να στέλνει κακόβουλα πακέτα ενημερωμένων εκδόσεων στο CMS, αντί αυτού. Αυτό το σενάριο επίθεσης ισχύει και για τις βασικές εκδόσεις του πυρήνα του DrupaΙ και για τις εκδόσεις των πακέτων των ενοτήτων από τις οποίες απαρτίζεται.

Κι όμως, η διαδικασία ενημέρωσης του Drupal περιέχει πολλαπλά bugs!
Με τη χρήση αυτού του τρίτου ελαττώματος, ο κύριος Arnaboldi εγκατέστησε με επιτυχία μια backdoored ενημερωμένη έκδοση του Drupal σε μια τεστ ιστοσελίδα, στην οποία προσάρμοσε ένα reverse PHP shell που του έδωσε πρόσβαση στον Web διακομιστή που εκτελείται το CMS και στη συνέχεια, εξήγαγε το όνομα του χρήστη και τον κωδικό πρόσβασης της βάσης δεδομένων της MySQL.

MySQL
Τo χειρότερο όλων είναι ότι η ομάδα του DrupaΙ γνώριζε το θέμα αυτό από το 2012, αλλά μόνο πρόσφατα ξανα-άνοιξε συζητήσεις σχετικά με τον καθορισμό του προβλήματος, μετά τις πρόσφατες διαπιστώσεις του κυρίου Arnaboldi.

Προς Ενημέρωση: Προς το παρόν, έως ότου οι προγραμματιστές του DrupaΙ θα προσπαθούν να διορθώσουν αυτά τα ζητήματα, ο κύριος Arnaboldi συνιστά όλες οι εγκαταστάσεις να γίνονται χειροκίνητα («χειροκίνητα», δηλαδή να κατεβάζουν το πακέτο της ενημερωμένης έκδοσης από το drupal.org σε έναν τοπικό υπολογιστή, να αποσυμπιέζουν τα αρχεία και να τα μετακινήσουν μέσω FTP στον Web διακομιστή).

Εγγραφή στο Newsletter

* indicates required

FOLLOW US

LIVE NEWS