Ευπάθεια που επιτρέπει την αντικατάσταση κώδικα JavaScript μέσω της προσθήκης OptinMonster WordPress

Εντοπίστηκε μια ευπάθεια (CVE-2021-39341) στο πρόσθετο OptinMonster WordPress, το οποίο έχει περισσότερες από ένα εκατομμύριο ενεργές εγκαταστάσεις και χρησιμοποιείται για την εμφάνιση αναδυόμενων ειδοποιήσεων και προσφορών, επιτρέποντάς σας να τοποθετήσετε τον κώδικα JavaScript σε έναν ιστότοπο χρησιμοποιώντας το καθορισμένο πρόσθετο. Η ευπάθεια διορθώθηκε στην έκδοση 2.6.5. Για να αποκλείσουν την πρόσβαση μέσω κλειδιών λήψης μετά την εγκατάσταση της ενημέρωσης, οι προγραμματιστές του OptinMonster ανακάλεσαν όλα τα κλειδιά πρόσβασης API που είχαν δημιουργηθεί προηγουμένως και πρόσθεσαν περιορισμούς στη χρήση των κλειδιών ιστότοπου WordPress για την τροποποίηση των καμπανιών OptinMonster.

Το πρόβλημα προκλήθηκε από την παρουσία του REST-API /wp-json/omapp/v1/support, στο οποίο ήταν δυνατή η πρόσβαση χωρίς έλεγχο ταυτότητας - το αίτημα εκτελέστηκε χωρίς πρόσθετους ελέγχους εάν η κεφαλίδα Referer περιείχε τη συμβολοσειρά "https://wp .app.optinmonster.test» και κατά τον ορισμό του τύπου αιτήματος HTTP σε «OPTIONS» (παρακάμπτεται από την κεφαλίδα HTTP «X-HTTP-Method-Override»). Μεταξύ των δεδομένων που επιστράφηκαν κατά την πρόσβαση στο εν λόγω REST-API, υπήρχε ένα κλειδί πρόσβασης που σας επιτρέπει να στέλνετε αιτήματα σε οποιονδήποτε χειριστή REST-API.

Χρησιμοποιώντας το κλειδί που αποκτήθηκε, ο εισβολέας θα μπορούσε να κάνει αλλαγές σε τυχόν μπλοκ αναδυόμενων παραθύρων που εμφανίζονται χρησιμοποιώντας το OptinMonster, συμπεριλαμβανομένης της οργάνωσης της εκτέλεσης του κώδικα JavaScript του. Έχοντας κερδίσει την ευκαιρία να εκτελέσει τον κώδικα JavaScript του στο πλαίσιο του ιστότοπου, ο εισβολέας μπορούσε να ανακατευθύνει τους χρήστες στον ιστότοπό του ή να οργανώσει την αντικατάσταση ενός προνομιακού λογαριασμού στη διεπαφή ιστού όταν ο διαχειριστής του ιστότοπου εκτελούσε τον αντικατεστημένο κώδικα JavaScript. Έχοντας πρόσβαση στη διεπαφή Ιστού, ο εισβολέας θα μπορούσε να επιτύχει την εκτέλεση του κώδικα PHP του στον διακομιστή.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο