Η αρχιτεκτονική των API Connections ως σημείο συμφόρησης (bottleneck)

Η υποδομή των API Connections στο Azure βασίζεται σε μια κεντρική υπηρεσία API Management (APIM) που διαμεσολαβεί μεταξύ των Logic Apps και των backend υπηρεσιών. Το πρόβλημα εντοπίζεται στο γεγονός ότι το Azure Resource Manager (ARM) διαθέτει προνομιακή πρόσβαση σε όλες τις συνδέσεις. Όταν ένας επιτιθέμενος καταφέρει να χειραγωγήσει το endpoint DynamicInvoke ή παρεμφερείς λειτουργίες, μπορεί να αναγκάσει το APIM να εκτελέσει ενέργειες χρησιμοποιώντας τα tokens άλλων χρηστών.

Ευπάθειες μέσω path traversal και undocumented endpoints

Η έρευνα αποκάλυψε ότι η επικύρωση των διαδρομών (path validation) ήταν ανεπαρκής. Ακόμη και μετά την επιδιόρθωση του DynamicInvoke, η ανακάλυψη ατεκμηρίωτων συναρτήσεων όπως το DynamicList επέτρεψε την παράκαμψη των περιορισμών. Χρησιμοποιώντας payloads που περιλαμβάνουν path traversal, ο επιτιθέμενος μπορεί να στοχεύσει απευθείας σε εσωτερικά endpoints, εκτελώντας για παράδειγμα SQL queries σε βάσεις δεδομένων άλλων tenants.

Το πρόβλημα του RuntimeUrl και η αποτυχία του validation

Μια κρίσιμη διαπίστωση αφορά την παράμετρο host.api.RuntimeUrl. Η δυνατότητα τροποποίησης αυτού του URL επιτρέπει στον επιτιθέμενο να κατευθύνει το αίτημα σε αυθαίρετους προορισμούς, διατηρώντας παράλληλα το έγκυρο Authorization header. Παρά τις προσπάθειες της Microsoft να επιβάλει αυστηρό έλεγχο στο URL, η έλλειψη σωστής κανονικοποίησης (normalization) πριν από την επικύρωση επέτρεψε την παράκαμψη των φίλτρων, αποδεικνύοντας ότι η ασφάλεια σε επίπεδο υποδομής απαιτεί ολιστική προσέγγιση και όχι απλό blacklisting.