Το Project Zero της Google χτυπά ξανά, δημοσίευσε λεπτομέρειες για το ελάττωμα "υψηλής σοβαρότητας" του GitHub

Εικονίδιο ώρας ανάγνωσης 3 λεπτό. ανάγνωση


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

Διαβάστε τη σελίδα αποκάλυψης για να μάθετε πώς μπορείτε να βοηθήσετε το MSPoweruser να διατηρήσει τη συντακτική ομάδα Διάβασε περισσότερα

Microsoft GitHub

Το Project Zero της Google χτύπησε ξανά, γνωστοποιώντας λεπτομέρειες μιας μη επιδιορθωμένης ευπάθειας στο λογισμικό της Microsoft.

Η εταιρεία δημοσίευσε σήμερα πληροφορίες για μια «υψηλής σοβαρότητας» εκμετάλλευση στο GitHub που θα επέτρεπε την απομακρυσμένη εκτέλεση κώδικα.

Το ελάττωμα, στις εντολές ροής εργασίας, που λειτουργούν ως κανάλι επικοινωνίας μεταξύ των εκτελεσμένων ενεργειών και του Action Runner, περιγράφεται ως έχει από τον Felix Wilhelm, ο οποίος ανακάλυψε το πρόβλημα:

Το μεγάλο πρόβλημα με αυτό το χαρακτηριστικό είναι ότι είναι πολύ ευάλωτο σε επιθέσεις με ένεση. Καθώς η διαδικασία του δρομέα αναλύει κάθε γραμμή που εκτυπώνεται στο STDOUT αναζητώντας εντολές ροής εργασίας, κάθε ενέργεια Github που εκτυπώνει μη αξιόπιστο περιεχόμενο ως μέρος της εκτέλεσης είναι ευάλωτη. Στις περισσότερες περιπτώσεις, η δυνατότητα ορισμού αυθαίρετων μεταβλητών περιβάλλοντος οδηγεί σε απομακρυσμένη εκτέλεση κώδικα μόλις εκτελεστεί άλλη ροή εργασίας.

Έχω περάσει λίγο χρόνο κοιτάζοντας δημοφιλείς αποθήκες Github και σχεδόν κάθε έργο με κάπως περίπλοκες ενέργειες Github είναι ευάλωτο σε αυτήν την κατηγορία σφαλμάτων.

Το πρόβλημα φαίνεται να είναι θεμελιώδες για τον τρόπο με τον οποίο λειτουργούν οι εντολές ροής εργασιών, γεγονός που καθιστά πολύ δύσκολη την επίλυσή του. Συμβουλευτικές σημειώσεις του GitHub:

Οι εντολές "add-path" και "set-env" Runner υποβάλλονται σε επεξεργασία μέσω του stdout
Η ενότητα @actions/core npm συναρτήσεις addPath και exportVariable επικοινωνούν με το Actions Runner μέσω stdout δημιουργώντας μια συμβολοσειρά σε μια συγκεκριμένη μορφή. Οι ροές εργασίας που καταγράφουν μη αξιόπιστα δεδομένα στο stdout ενδέχεται να επικαλούνται αυτές τις εντολές, με αποτέλεσμα την τροποποίηση της διαδρομής ή των μεταβλητών περιβάλλοντος χωρίς την πρόθεση του συντάκτη της ροής εργασίας ή της ενέργειας.

Patches
Ο runner θα κυκλοφορήσει μια ενημέρωση που απενεργοποιεί τις εντολές ροής εργασίας set-env και add-path στο εγγύς μέλλον. Προς το παρόν, οι χρήστες θα πρέπει να κάνουν αναβάθμιση σε @actions/core v1.2.6 ή μεταγενέστερη έκδοση και να αντικαταστήσουν οποιαδήποτε παρουσία των εντολών set-env ή add-path στις ροές εργασίας τους με τη νέα Σύνταξη Αρχείου Περιβάλλοντος. Οι ροές εργασίας και οι ενέργειες που χρησιμοποιούν τις παλιές εντολές ή τις παλαιότερες εκδόσεις της εργαλειοθήκης θα αρχίσουν να προειδοποιούν και, στη συνέχεια, θα εμφανίζονται σφάλματα κατά την εκτέλεση της ροής εργασίας.

Εναλλακτικές λύσεις
Κανένα, προτείνεται ανεπιφύλακτα να κάνετε αναβάθμιση το συντομότερο δυνατό.

Η Google ανακάλυψε το ελάττωμα στις 21 Ιουλίου, δίνοντας στη Microsoft 90 ημέρες για να το διορθώσει. Το GitHub κατάργησε τις ευάλωτες εντολές και έστειλε μια συμβουλή σχετικά με μια «μέτρια ευπάθεια ασφαλείας», ζητώντας από τους χρήστες να ενημερώσουν τις ροές εργασίας τους. Ζήτησαν επίσης από την Google καθυστέρηση αποκάλυψης 14 ημερών, την οποία η Google αποδέχτηκε, μεταφέροντας την ημερομηνία αποκάλυψης στις 2 Νοεμβρίου 2020. Η Microsoft ζήτησε περαιτέρω καθυστέρηση 48 ωρών, την οποία η Google αρνήθηκε, οδηγώντας στην αποκάλυψη χθες.

Μπορείτε να βρείτε τις πλήρεις λεπτομέρειες του exploit στο Chromium.org εδώ.

μέσω Neowin

Περισσότερα για τα θέματα: εκμεταλλεύονται, Github, το σχέδιο μηδέν