Το πρόσθετο 'LearnPress' για online μαθήματα WordPress ήταν ευάλωτο σε πολλαπλά σφάλματα κρίσιμης σοβαρότητας, συμπεριλαμβανομένης pre-auth SQL πριν από την εξουσιοδότηση και της συμπερίληψης τοπικού αρχείου. Το LearnPress είναι ένα πρόσθετο σύστημα διαχείρισης μάθησης (LMS) που επιτρέπει στους ιστότοπους WordPress να δημιουργούν και να πωλούν εύκολα διαδικτυακά μαθήματα, μαθήματα και κουίζ, παρέχοντας στους επισκέπτες ένα φιλικό περιβάλλον εργασίας, ενώ δεν απαιτεί γνώσεις κωδικοποίησης από τον προγραμματιστή του ιστότοπου. Οι ευπάθειες στο πρόσθετο, που χρησιμοποιείται σε πάνω από 100.000 ενεργούς ιστότοπους, ανακαλύφθηκαν από το PatchStack μεταξύ 30 Νοεμβρίου και 2 Δεκεμβρίου 2022 και αναφέρθηκαν στον προμηθευτή λογισμικού. Τα προβλήματα διορθώθηκαν στις 20 Δεκεμβρίου 2022, με την κυκλοφορία της έκδοσης LearnPress 4.2.0. Ωστόσο, σύμφωνα με τα στατιστικά στοιχεία του WordPress.org, μόνο περίπου το 25% έχει εφαρμόσει την ενημέρωση.

learnpress versions

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

Λεπτομέρειες ευπαθειών

Πρώτη ευπάθεια

Η πρώτη ευπάθεια που ανακαλύφθηκε από το PatchStack είναι το CVE-2022-47615, ένα σφάλμα μη εξουσιοδοτημένης συμπερίληψης τοπικού αρχείου (LFI) που επιτρέπει στους επιτιθέμενους να εμφανίζουν τα περιεχόμενα των τοπικών αρχείων που είναι αποθηκευμένα στον διακομιστή ιστού. Αυτό θα μπορούσε να εκθέσει κωδικούς, tokens εξουσιοδότησης και κλειδιά API, οδηγώντας σε περαιτέρω παραβίαση. Η ευπάθεια εντοπίζεται σε ένα κομμάτι κώδικα που χειρίζεται αιτήσεις API για τον ιστότοπο, το οποίο βρίσκεται στη συνάρτηση "list_courses", η οποία δεν επικυρώνει σωστά ορισμένες μεταβλητές ($template_pagination_path, $template_path και $template_path_item). Ένας εισβολέας θα μπορούσε ενδεχομένως να εκμεταλλευτεί το CVE-2022-47615 στέλνοντας ένα ειδικά διαμορφωμένο αίτημα API και χρησιμοποιώντας κακόβουλες τιμές για τις τρεις μεταβλητές.

Δεύτερη ευπάθεια

Το δεύτερο κρίσιμο ελάττωμα είναι το CVE-2022-45808, μια SQL injection που ενδεχομένως οδηγεί σε αποκάλυψη ευαίσθητων πληροφοριών, τροποποίηση δεδομένων και εκτέλεση αυθαίρετου κώδικα. Αυτή η ευπάθεια έγκειται σε μια λειτουργία που χειρίζεται ερωτήματα SQL για τον ιστότοπο, η οποία δεν καθαρίζει και δεν επικυρώνει σωστά τη μεταβλητή "$filter" στις παραμέτρους του ερωτήματος, επιτρέποντας σε έναν εισβολέα να εισάγει κακόβουλο κώδικα σε αυτήν.
παράδειγμα sql injection
Παράδειγμα sql injection
 

Τρίτη Ευπάθεια

Το τρίτο ελάττωμα που επηρεάζει παλαιότερες εκδόσεις του LearnPress είναι το CVE-2022-45820, ένα ελάττωμα  SQL injection σε δύο shortcodes του πρόσθετου ("learn_press_recent_courses" και "learn_press_featured_courses") που αποτυγχάνουν να επικυρώσουν και να καθαρίσουν σωστά την είσοδο της μεταβλητής "$args". Το PatchStack παρείχε ένα proof-of-concept exploit που δείχνει πώς ένας χρήστης "Contributor" θα μπορούσε να προκαλέσει το  SQL injection χρησιμοποιώντας ένα ειδικά διαμορφωμένο shortcode σε μια δημοσίευση που είναι σε draft. Αυτή η ευπάθεια πρέπει να εκτελεστεί από έναν χρήστη που έχει τη δυνατότητα να επεξεργαστεί ή να δημιουργήσει μια νέα ανάρτηση στο ιστολόγιο, περιορίζοντας τον κίνδυνο του ελαττώματος. Ο δημιουργός του plugin διόρθωσε τα παραπάνω ζητήματα με την εισαγωγή μιας allowlist και την εξυγίανση των ευάλωτων μεταβλητών ή με την αφαίρεση της δυνατότητας συμπερίληψης προτύπων στην είσοδο του χρήστη. Οι διαχειριστές ιστοτόπων που βασίζονται στο LearnPress συνιστάται είτε να αναβαθμίσουν στην έκδοση 4.2.0 είτε να απενεργοποιήσουν το πρόσθετο μέχρι να μπορέσουν να εφαρμόσουν τη διαθέσιμη ενημερωμένη έκδοση ασφαλείας.  

Επικοινωνήστε σήμερα με την LV8 και εμπιστευτείτε μας!

 
LV8-SIGNATURE-B