Μη εξουσιοδοτημένος έλεγχος MQ Broker μέσω λειτουργίας SSE στον διακομιστή Amazon MQ Broker MCP της AWS Labs
Συντάκτης: Evan Harris
Κίνδυνος: Χαμηλός
Επηρεαζόμενο στοιχείο: AWS Labs’ Amazon MQ Broker MCP Server
TL;DR
Μια ευπάθεια στον διακομιστή Amazon MQ Broker MCP της AWS Labs θα μπορούσε να επιτρέψει σε μη ελεγμένους ως προς την ταυτότητα επιτιθέμενους στο ίδιο δίκτυο να διαγράφουν και να δημιουργούν brokers Amazon MQ όταν ο διακομιστής MCP εκτελείται σε λειτουργία SSE. Αναφέραμε την ευπάθεια στην AWS. Διόρθωσαν το ζήτημα αφαιρώντας εντελώς το SSE. Δεν εκτέθηκαν διαπιστευτήρια, αλλά το ελάττωμα παραβίαζε τις αρχές των ελάχιστων προνομίων και θα μπορούσε να προκαλέσει λειτουργική διαταραχή. Οι χρήστες θα πρέπει να αναβαθμιστούν στην τελευταία έκδοση άμεσα.
Υπόβαθρο
Ο διακομιστής Amazon MQ Broker MCP της AWS Labs επιτρέπει στους βοηθούς AI να διαχειρίζονται brokers Amazon MQ μέσω απλών εντολών για τη δημιουργία, τη διαγραφή και τη διαμόρφωση της υποδομής ανταλλαγής μηνυμάτων που τροφοδοτεί κατανεμημένες εφαρμογές.
Ανακαλύψαμε μια ευπάθεια έκθεσης δικτύου στη λειτουργία SSE του διακομιστή Amazon MQ MCP που επιτρέπει σε επιτιθέμενους στο ίδιο δίκτυο να καταλαμβάνουν λειτουργίες διαχείρισης broker.
Ένας επιτιθέμενος θα μπορούσε να διαγράψει κρίσιμους brokers μηνυμάτων, να δημιουργήσει μη εξουσιοδοτημένους πόρους και να διαταράξει την υποδομή ανταλλαγής μηνυμάτων, όλα αυτά χωρίς να χρειάζεται οποιαδήποτε διαπιστευτήρια AWS.
Σε αυτήν την ανάρτηση, αναλύουμε πώς λειτουργεί η ευπάθεια και παρουσιάζουμε ένα ρεαλιστικό σενάριο επίθεσης που δείχνει πόσο εύκολα μια παραβίαση εσωτερικού δικτύου μπορεί να κλιμακωθεί σε διαταραχή της υποδομής AWS.
Επισκόπηση
%%{init: {'themeVariables': {'fontSize': '18px'}}}%%
flowchart TD
A[Developer runs MCP Server
with --sse flag] --> B[Server binds to
0.0.0.0:8888
No authentication required]
B --> C[Attacker gains network
access
• Open firewall rule
• Exposed port
• Local compromise]
C --> D[Attacker discovers SSE
endpoint
Port scan or service
discovery]
D --> E[Connect using MCP
Inspector
target-ip:8888/sse]
E --> F[Enumerate available tools
list_brokers, delete_broker,
etc.]
F --> G[List existing MQ brokers
Identify managed brokers
with mcp_server_version tag]
G --> H{Server launched with
--allow-resource-creation?}
H -->|Yes| I[Full Control:
• Delete brokers
• Create new brokers
• Resource sprawl
• Quota exhaustion]
H -->|No| J[Limited Control:
• Delete existing brokers
• Denial of service
• Operational disruption]
I --> K[Impact: Unauthorized
infrastructure management
without AWS credentials]
J --> K
style A fill:#e3f2fd
style B fill:#fff3e0
style C fill:#ffebee
style D fill:#ffebee
style E fill:#ffebee
style F fill:#ffebee
style G fill:#ffebee
style H fill:#fff9c4
style I fill:#ffcdd2
style J fill:#ffcdd2
style K fill:#c8e6c9
Σενάριο επίθεσης
-
Ένας προγραμματιστής ή operator εκτελεί τον διακομιστή MQ MCP με:
uv run server.py --sseΑπό προεπιλογή, ο διακομιστής MQ MCP δεσμεύεται στο 0.0.0.0, εκθέτοντας τον διακομιστή σε επιθέσεις βασισμένες στο δίκτυο.
-
Ένας επιτιθέμενος αποκτά πρόσβαση στο δίκτυο όπου εκτελείται αυτός ο διακομιστής (π.χ. μέσω ενός ανοιχτού κανόνα τείχους προστασίας, μιας εκτεθειμένης θύρας ή μιας τοπικής παραβίασης).
-
Ο επιτιθέμενος συνδέεται στην προεπιλεγμένη θύρα SSE (συνήθως 8888) χρησιμοποιώντας έναν client όπως ο MCP Inspector.
-
Μόλις συνδεθεί, ο επιτιθέμενος μπορεί να:
4.1 Απαριθμήσει τους brokers MQ χρησιμοποιώντας το εργαλείο
list_brokers4.2 Εντοπίσει brokers με ετικέτα
mcp_server_version, η οποία τους επισημαίνει ως διαχειριζόμενους από έναν διακομιστή MCP4.3 Εκτελέσει μεταλλακτικές λειτουργίες όπως
delete_broker -
Εάν ο διακομιστής MCP εκκινήθηκε με το επιπλέον flag
--allow-resource-creation, τότε ο επιτιθέμενος θα μπορούσε επίσης να δημιουργήσει νέους brokers MQ, οδηγώντας δυνητικά σε διάχυση πόρων ή εξάντληση ποσοστώσεων.
Proof of Concept
Μια βασική επίθεση αποδείχθηκε χρησιμοποιώντας:
- Έναν διακομιστή MCP θύμα με ενεργοποιημένο το
--sse - Έναν προσομοιωμένο επιτιθέμενο εντός του ίδιου δικτύου
- Τον client MCP Inspector για σύνδεση και έκδοση εντολών
Ο επιτιθέμενος μπόρεσε να:
- Απαριθμήσει brokers
- Διαγράψει οποιονδήποτε broker με την κατάλληλη ετικέτα διαχείρισης
- (Εάν είχε διαμορφωθεί) Δημιουργήσει νέους brokers στον λογαριασμό AWS του θύματος
Σε κανένα σημείο της επίθεσης δεν εκτέθηκαν ούτε απαιτήθηκαν διαπιστευτήρια AWS.
Αντίκτυπος
- Άρνηση εξυπηρέτησης μέσω αφαίρεσης broker
- Μη εξουσιοδοτημένη διαγραφή brokers Amazon MQ
- Μη εξουσιοδοτημένη δημιουργία πόρων εάν είναι ενεργοποιημένο το
--allow-resource-creation - Παραβίαση των ελάχιστων προνομίων, παρόλο που οι χρήστες λειτουργούν εντός των αναμενόμενων ορίων
Απόκριση της AWS Labs
Αφού γνωστοποιήσαμε το ζήτημα στις 22 Μαΐου 2025, η AWS Labs επιβεβαίωσε γρήγορα την ευπάθεια και έλαβε αποφασιστικά μέτρα. Αντί να υλοποιήσει έλεγχο ταυτότητας για τη λειτουργία SSE, η AWS Labs επέλεξε να αφαιρέσει εντελώς τη λειτουργικότητα SSE από τον διακομιστή MCP.
Η διόρθωση, που κυκλοφόρησε στο pull request #417, εξαλείφει πλήρως τη λειτουργία μεταφοράς SSE που δημιούργησε τη μη ελεγχόμενη ως προς την ταυτότητα έκθεση δικτύου. Από την έκδοση της 27ης Μαΐου 2025, το exploit που παρουσιάζεται εδώ δεν είναι πλέον δυνατό.
Εκτιμούμε την ταχεία απόκριση της AWS Labs και την προσέγγισή τους με προτεραιότητα στην ασφάλεια, αφαιρώντας τη ριψοκίνδυνη λειτουργικότητα αντί να επιχειρήσουν να τη διορθώσουν.
Συστάσεις
Για τους τελικούς χρήστες
- Αναβαθμίστε στην τελευταία έκδοση του AWS MQ MCP Server
- Μην εκθέτετε διακομιστές MCP σε δημόσια ή μη έμπιστα δίκτυα
- Ελέγξτε τις εσωτερικές υπηρεσίες δικτύου για τυχαία έκθεση προνομιακού εργαλείου
- Αποφύγετε τη μετάδοση του
--allow-resource-creationεκτός εάν απαιτείται ρητά για την περίπτωση χρήσης σας
Χρονολόγιο
| Ημερομηνία | Συμβάν |
|---|---|
| 21 Μαΐου 2025 | Ανακαλύφθηκε η ευπάθεια |
| 22 Μαΐου 2025 | Αναφέρθηκε η ευπάθεια στην AWS Labs |
| 27 Μαΐου 2025 | Η AWS Labs κυκλοφορεί τη διόρθωση (PR #417) αφαιρώντας την υποστήριξη SSE |
| 8 Ιανουαρίου 2026 | Η Amazon CNA σήμανε το ζήτημα ως εκτός πεδίου εφαρμογής λόγω μη προεπιλεγμένης διαμόρφωσης |
| 9 Ιανουαρίου 2026 | Συμφωνήθηκε η ημερομηνία δημοσίευσης |
| 15 Ιανουαρίου 2026 | Δημόσια γνωστοποίηση |