Ένα σφάλμα 4 χρόνων στην υπηρεσία εφαρμογής Azure εξέθεσε εκατοντάδες repositories πηγαίου κώδικα

Ένα σφάλμα 4 χρόνων στην υπηρεσία εφαρμογής Azure εξέθεσε εκατοντάδες repositories πηγαίου κώδικα

Ένα σφάλμα 4 χρόνων στην υπηρεσία εφαρμογής Azure εξέθεσε εκατοντάδες repositories πηγαίου κώδικα

Ένα ελάττωμα ασφαλείας αποκαλύφθηκε στην υπηρεσία Azure App της Microsoft, το οποίο είχε ως αποτέλεσμα την έκθεση του πηγαίου κώδικα εφαρμογών πελατών γραμμένων σε Java, Node, PHP, Python και Ruby για τουλάχιστον τέσσερα χρόνια από τον Σεπτέμβριο του 2017.

Η ευπάθεια, με την κωδική ονομασία "NotLegit", αναφέρθηκε στον τεχνολογικό γίγαντα από ερευνητές της Wiz στις 7 Οκτωβρίου 2021, μετά την οποία ελήφθησαν μέτρα μετριασμού για να διορθωθεί το σφάλμα αποκάλυψης πληροφοριών τον Νοέμβριο. Η Microsoft είπε ότι ένα "περιορισμένο υποσύνολο πελατών" κινδυνεύει, προσθέτοντας ότι "Οι πελάτες που ανέπτυξαν κώδικα στο App Service Linux μέσω Local Git μετά τη δημιουργία αρχείων στην εφαρμογή ήταν οι μόνοι πελάτες που επηρεάστηκαν".

Η υπηρεσία Azure App Service (γνωστή και ως Azure Web Apps) είναι μια πλατφόρμα που βασίζεται στο cloud computing για τη δημιουργία και τη φιλοξενία εφαρμογών Ιστού. Επιτρέπει στους χρήστες να αναπτύξουν τον πηγαίο κώδικα και τα τεχνουργήματα στην υπηρεσία χρησιμοποιώντας ένα τοπικό Git repository ή μέσω repositories που φιλοξενούνται στο GitHub και το Bitbucket.

Η μη ασφαλής προεπιλεγμένη συμπεριφορά εμφανίζεται όταν η μέθοδος Local Git χρησιμοποιείται για την ανάπτυξη στην υπηρεσία Azure App Service, με αποτέλεσμα ένα σενάριο όπου το Git repository δημιουργείται σε έναν δημόσια προσβάσιμο κατάλογο (home/site/wwwroot).

Ενώ η Microsoft προσθέτει ένα αρχείο "web.config" στον φάκελο .git που περιέχει την κατάσταση και το ιστορικό του repository για να περιορίσει τη δημόσια πρόσβαση, τα αρχεία διαμόρφωσης χρησιμοποιούνται μόνο με εφαρμογές C# ή ASP.NET που βασίζονται στους IIS web servers της Microsoft, παραλείποντας εφαρμογές κωδικοποιημένες σε άλλες γλώσσες προγραμματισμού όπως PHP, Ruby, Python ή Node που αναπτύσσονται με διαφορετικούς web servers όπως Apache, Nginx και Flask.

IIS «Βασικά, το μόνο που έπρεπε να κάνει ένας κακόβουλος χρήστης ήταν να ανακτήσει το directory «/.git» από την εφαρμογή-στόχο και να ανακτήσει τον πηγαίο κώδικα του», είπε η ερευνήτρια του Wiz, Σιρ Τάμαρι. "Κακόβουλοι παράγοντες σαρώνουν συνεχώς το Διαδίκτυο για εκτεθειμένους φακέλους Git από τους οποίους μπορούν να συλλέγουν μυστικά και πνευματική ιδιοκτησία. Εκτός από την πιθανότητα η πηγή να περιέχει μυστικά όπως κωδικούς πρόσβασης και διακριτικά πρόσβασης, ο πηγαίος κώδικας που διέρρευσε χρησιμοποιείται συχνά για περαιτέρω εξελιγμένες επιθέσεις." "Η εύρεση ευπαθειών στο λογισμικό είναι πολύ πιο εύκολη όταν ο πηγαίος κώδικας είναι διαθέσιμος", πρόσθεσε ο Tamari.