Μια ευπάθεια πλαστογράφησης αιτημάτων από την πλευρά του διακομιστή (SSRF) στο ChatGPT του OpenAI. Το ελάττωμα, που κρύβεται στη δυνατότητα “Ενέργειες” προσαρμοσμένου GPT, επέτρεψε στους εισβολείς να εξαπατήσουν το σύστημα για να αποκτήσουν πρόσβαση στα εσωτερικά μεταδεδομένα του cloud, εκθέτοντας δυνητικά ευαίσθητα διαπιστευτήρια Azure.
Το σφάλμα, που ανακαλύφθηκε από την Open Security κατά τη διάρκεια περιστασιακών πειραματισμών, υπογραμμίζει τους κινδύνους του χειρισμού διευθύνσεων URL που ελέγχονται από τον χρήστη σε εργαλεία τεχνητής νοημοσύνης.
Τα τρωτά σημεία SSRF εμφανίζονται όταν οι εφαρμογές ανακτούν τυφλά πόρους από διευθύνσεις URL που παρέχονται από τον χρήστη, επιτρέποντας στους εισβολείς να εξαναγκάσουν τους διακομιστές να αναζητήσουν ανεπιθύμητους προορισμούς. Αυτό μπορεί να παρακάμψει τείχη προστασίας, να διερευνήσει εσωτερικά δίκτυα ή να εξάγει δεδομένα από προνομιακές υπηρεσίες.
Καθώς η υιοθέτηση του cloud αυξάνεται, οι κίνδυνοι του SSRF ενισχύονται. σημαντικοί πάροχοι όπως το AWS, το Azure και το Google Cloud εκθέτουν τελικά σημεία μεταδεδομένων, όπως το Azure στη διεύθυνση http://169.254.169.254, τα οποία περιέχουν λεπτομέρειες παρουσίας και διακριτικά API.
Το Open Web Application Security Project (OWASP) πρόσθεσε το SSRF στη λίστα με τα Top 10 το 2021, υπογραμμίζοντας την επικράτηση του στις σύγχρονες εφαρμογές.
Ο ερευνητής, πειραματίζονται με προσαρμοσμένα GPT, ένα κορυφαίο εργαλείο ChatGPT Plus για τη δημιουργία προσαρμοσμένων βοηθών τεχνητής νοημοσύνης, παρατήρησε την ενότητα “Ενέργειες”. Αυτό επιτρέπει στους χρήστες να ορίζουν εξωτερικά API μέσω σχημάτων OpenAPI, επιτρέποντας στο GPT να τα καλεί για εργασίες όπως αναζητήσεις καιρού.
Η διεπαφή περιλαμβάνει ένα κουμπί “Δοκιμή” για την επαλήθευση αιτημάτων και υποστηρίζει κεφαλίδες ελέγχου ταυτότητας. Εντοπίζοντας τη δυνατότητα για SSRF, ο ερευνητής εξέτασε δείχνοντας τη διεύθυνση URL του API στην Υπηρεσία Μεταδεδομένων Παρουσίας του Azure (IMDS).

Οι αρχικές προσπάθειες απέτυχαν επειδή το χαρακτηριστικό επέβαλε διευθύνσεις URL HTTPS, ενώ το IMDS χρησιμοποιεί HTTP. Απτόητος, ο ερευνητής το παρέκαμψε χρησιμοποιώντας μια ανακατεύθυνση 302 από ένα εξωτερικό τελικό σημείο HTTPS (μέσω εργαλείων όπως το ssrf.cvssadvisor.com) στο εσωτερικό URL μεταδεδομένων. Ο διακομιστής ακολούθησε την ανακατεύθυνση, αλλά το Azure απέκλεισε την πρόσβαση χωρίς την κεφαλίδα “Μεταδεδομένα: αληθινό”.
Η περαιτέρω διερεύνηση αποκάλυψε μια λύση: οι ρυθμίσεις ελέγχου ταυτότητας επέτρεψαν προσαρμοσμένα “κλειδιά API”. Ονομάζοντας ένα “Μεταδεδομένα” με τιμή “true” εισήγαγε την απαιτούμενη κεφαλίδα.
Επιτυχία! Το GPT επέστρεψε δεδομένα IMDS, συμπεριλαμβανομένου ενός διακριτικού OAuth2 για το API διαχείρισης του Azure (ζητήθηκε μέσω /metadata/identity/oauth2/token?resource=https://management.azure.com/).
Αυτό το διακριτικό παρείχε άμεση πρόσβαση στο περιβάλλον cloud του OpenAI, επιτρέποντας την απαρίθμηση ή την κλιμάκωση πόρων.

Ο αντίκτυπος ήταν σοβαρός. Στις ρυθμίσεις του cloud, τέτοια διακριτικά θα μπορούσαν να στραφούν σε πλήρη συμβιβασμό, όπως φαίνεται σε προηγούμενες διεκπεραιώσεις Open Security όπου το SSRF οδήγησε σε απομακρυσμένη εκτέλεση κώδικα σε εκατοντάδες περιπτώσεις.
Για το ChatGPT, κινδύνευε να διαρρεύσει μυστικά παραγωγής, αν και ο ερευνητής σημείωσε ότι δεν ήταν το πιο καταστροφικό που είχαν βρει.
Αναφέρθηκε αμέσως στο πρόγραμμα Bugcrowd του OpenAI, η ευπάθεια έλαβε υψηλή σοβαρότητα και έλαβε μια γρήγορη ενημέρωση κώδικα. Το OpenAI επιβεβαίωσε την επιδιόρθωση, αποτρέποντας περαιτέρω εκμετάλλευση.










