Διαρροή βάσης δεδομένων στο πρόσθετο UpdraftPlus WordPress με 3 εκατομμύρια εγκαταστάσεις

Μια επικίνδυνη ευπάθεια (CVE-3-2022) εντοπίστηκε στο πρόσθετο UpdraftPlus WordPress, το οποίο έχει περισσότερες από 0633 εκατομμύρια ενεργές εγκαταστάσεις, επιτρέποντας σε τρίτο χρήστη να κατεβάσει ένα αντίγραφο της βάσης δεδομένων του ιστότοπου, το οποίο, εκτός από περιεχόμενο, περιέχει τις παραμέτρους όλων των χρηστών και κατακερματισμούς κωδικών πρόσβασης. Το πρόβλημα επιλύθηκε στις εκδόσεις 1.22.3 και 2.22.3, τις οποίες συνιστάται σε όλους τους χρήστες του UpdraftPlus να εγκαταστήσουν το συντομότερο δυνατό.

Το UpdraftPlus διαφημίζεται ως το πιο δημοφιλές πρόσθετο για τη δημιουργία αντιγράφων ασφαλείας ιστότοπων που εκτελούνται στην πλατφόρμα WordPress. Λόγω εσφαλμένου ελέγχου των δικαιωμάτων πρόσβασης, το πρόσθετο επέτρεψε τη λήψη ενός αντιγράφου ασφαλείας του ιστότοπου και της σχετικής βάσης δεδομένων όχι μόνο στους διαχειριστές, αλλά και σε οποιονδήποτε χρήστη που είναι εγγεγραμμένος στον ιστότοπο, για παράδειγμα, με κατάσταση συνδρομητή.

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

Στη συνέχεια, με βάση τις πληροφορίες που λάβατε, μπορείτε να δημιουργήσετε ένα αναγνωριστικό και να κάνετε λήψη ενός αντιγράφου ασφαλείας χρησιμοποιώντας τη μέθοδο λήψης μέσω email. Η συνάρτηση maybe_download_backup_from_email που χρησιμοποιείται σε αυτήν τη μέθοδο απαιτεί πρόσβαση στη σελίδα options-general.php, στην οποία είναι προσβάσιμη μόνο ο διαχειριστής. Ωστόσο, ένας εισβολέας μπορεί να παρακάμψει αυτόν τον περιορισμό παραπλανώντας τη μεταβλητή $pagenow που χρησιμοποιείται στον έλεγχο και στέλνοντας ένα αίτημα μέσω μιας σελίδας υπηρεσίας που επιτρέπει την πρόσβαση σε μη προνομιούχους χρήστες. Για παράδειγμα, μπορείτε να επικοινωνήσετε μέσω της σελίδας για αποστολή μηνύματος στον διαχειριστή στέλνοντας ένα αίτημα με τη μορφή "wp-admin/admin-post.php/%0A/wp-admin/options-general.php?page=updraftplus ".

Πηγή: opennet.ru