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

Hanno Böck, συγγραφέας του έργου fuzzing-project.org, παρατήρησε σχετικά με την ευπάθεια των διαδραστικών διεπαφών μεταγλώττισης που επιτρέπουν την επεξεργασία εξωτερικού κώδικα στη γλώσσα C. Κατά τον καθορισμό μιας αυθαίρετης διαδρομής στην οδηγία "#include", ένα σφάλμα μεταγλώττισης περιλαμβάνει τα περιεχόμενα ενός αρχείου που δεν ήταν δυνατό να μεταγλωττιστεί.

Για παράδειγμα, αντικαθιστώντας το "#include " στον κώδικα σε μία από τις διαδικτυακές υπηρεσίες, η έξοδος μπόρεσε να λάβει έναν κατακερματισμό του κωδικού πρόσβασης του χρήστη root από το αρχείο /etc/shadow, το οποίο επίσης υποδεικνύει ότι η υπηρεσία web εκτελείται με δικαιώματα ρίζας και εκτελεί τις εντολές μεταγλώττισης ως root (είναι πιθανό να χρησιμοποιήθηκε ένα απομονωμένο κοντέινερ κατά τη μεταγλώττιση, αλλά η εκτέλεση ως root σε ένα κοντέινερ είναι επίσης ένα πρόβλημα). Η προβληματική υπηρεσία στην οποία ήταν δυνατή η αναπαραγωγή του προβλήματος δεν έχει ακόμη διαφημιστεί. Οι προσπάθειες ανοίγματος αρχείων στο ψευδο FS /proc ήταν ανεπιτυχείς επειδή το GCC τα αντιμετωπίζει ως κενά αρχεία, αλλά το άνοιγμα αρχείων από το /sys λειτουργεί.

Πηγή: opennet.ru

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