Ευπάθεια στη βιβλιοθήκη PharStreamWrapper που επηρεάζει το Drupal, το Joomla και το Typo3

Στην ΒΙΒΛΙΟΘΗΚΗ PharStreamWrapper, το οποίο παρέχει χειριστές για προστασία από του επίθεση μέσω αντικατάστασης αρχείου στη μορφή «Phar», αναγνωρισθείς τρωτό (CVE-2019-11831), το οποίο σας επιτρέπει να παρακάμψετε την προστασία αποσειροποίησης κώδικα αντικαθιστώντας χαρακτήρες ".." στη διαδρομή. Για παράδειγμα, ένας εισβολέας μπορεί να χρησιμοποιήσει μια διεύθυνση URL όπως "phar:///path/bad.phar/../good.phar" για μια επίθεση και η βιβλιοθήκη θα επισημάνει το όνομα βάσης "/path/good.phar" όταν έλεγχος, αν και κατά την περαιτέρω επεξεργασία μιας τέτοιας διαδρομής Θα χρησιμοποιηθεί το αρχείο "/path/bad.phar".

Η βιβλιοθήκη αναπτύχθηκε από τους δημιουργούς του CMS TYPO3, αλλά χρησιμοποιείται επίσης σε έργα Drupal και Joomla, γεγονός που τα καθιστά επίσης ευάλωτα σε τρωτά σημεία. Το πρόβλημα διορθώθηκε στις εκδόσεις PharStreamWrapper 2.1.1 και 3.1.1. Το έργο Drupal διόρθωσε το πρόβλημα στις ενημερώσεις 7.67, 8.6.16 και 8.7.1. Στο Joomla το πρόβλημα εμφανίζεται από την έκδοση 3.9.3 και επιδιορθώθηκε στην έκδοση 3.9.6. Για να διορθώσετε το πρόβλημα στο TYPO3, πρέπει να ενημερώσετε τη βιβλιοθήκη PharStreamWapper.

Από την πρακτική πλευρά, μια ευπάθεια στο PharStreamWapper επιτρέπει σε έναν χρήστη του Drupal Core με δικαιώματα «Διαχείριση θέματος» να ανεβάσει ένα κακόβουλο αρχείο phar και να προκαλέσει την εκτέλεση του κώδικα PHP που περιέχεται σε αυτό υπό το πρόσχημα ενός νόμιμου αρχείου phar. Θυμηθείτε ότι η ουσία της επίθεσης "Phar deserialization" είναι ότι κατά τον έλεγχο των φορτωμένων αρχείων βοήθειας της συνάρτησης PHP file_exists(), αυτή η συνάρτηση αποσειρώνει αυτόματα τα μεταδεδομένα από αρχεία Phar (PHP Archive) όταν επεξεργάζεται διαδρομές που ξεκινούν με "phar://" . Είναι δυνατή η μεταφορά ενός αρχείου phar ως εικόνα, αφού η συνάρτηση file_exists() καθορίζει τον τύπο MIME ανά περιεχόμενο και όχι κατά επέκταση.

Πηγή: opennet.ru

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