flawopen.com/AI Security/cve-2026-103956-aws-loom-authentication-bypass
CVE-2026-103956: AWS Loom में प्रमाणीकरण बायपास
CVE-2026-103956 ने AWS Labs के Loom for AWS के 1.6.1 से पुराने संस्करणों को प्रभावित किया: पहचान प्रदाता कॉन्फ़िगर न होने पर कोई भी नेटवर्क क्लाइंट सुपर-एडमिन अधिकार पा सकता था। इस और संबंधित सुधारों के लिए 1.7.0 या नया संस्करण अपनाएँ; प्रमाणीकरण बायपास 1.6.1 में ही ठीक कर दिया गया था।[1], [5]
किसी इमारत का स्वागत-कक्ष खाली है, फिर भी सॉफ्टवेयर हर आगंतुक को मुख्य प्रशासक मानता है। सुधार के बाद पहचान प्रदाता न होने पर प्रवेश अस्वीकार होता है। स्थानीय विकास की छूट के लिए स्पष्ट विकल्प और उसी मशीन से कनेक्शन आवश्यक है।[1], [4]
इस पेज के मुख्य शब्द
पहचान प्रदाता (IdP)- Loom उपयोगकर्ताओं को प्रमाणित करने के लिए कॉन्फ़िगर की गई प्रणाली। Cognito और बाहरी IdP दोनों अनुपस्थित होने पर असुरक्षित स्थिति बनती थी।[1]
कंट्रोल प्लेन- एजेंट एकीकरण, क्रेडेंशियल और भूमिका नीतियों को संभालने वाली प्रशासनिक API परत।[1]
सुरक्षित विफलता- आवश्यक पहचान सेवा न मिलने पर डिफ़ॉल्ट विशेषाधिकार देने के बजाय अनुरोध अस्वीकार करना।[4]
फ्रेमवर्क मैपिंग
हमले का चरण-दर-चरण प्रवाह
पहचान प्रदाता कॉन्फ़िगर नहीं है
1.6.1 से पहले की प्रभावित स्थिति में न Cognito उपयोगकर्ता पूल था, न बाहरी IdP।[1]
Fallback विशेषाधिकार वाला उपयोगकर्ता बनाता है
कमज़ोर get_current_user पथ बिना प्रमाणीकरण वाले अनुरोधों को भी चुपचाप t-admin और g-admins-super देता था।[4]
API कंट्रोल प्लेन अधिकार देता है
नेटवर्क से पहुँचने वाला क्लाइंट सुपर-एडमिन बनकर टूल सर्वर पंजीकृत कर सकता था, संग्रहीत एकीकरण क्रेडेंशियल पढ़ सकता था या प्रबंधित एजेंट भूमिकाओं की IAM नीतियाँ बदल सकता था। यह विक्रेता द्वारा बताया गया प्रभाव है, किसी तैनाती के वास्तव में भंग होने का प्रमाण नहीं।[1]
Loom संस्करणों में सुधार की सीमा
| संस्करण सीमा | CVE-2026-103956 प्रमाणीकरण बायपास | AWS की अक्टूबर सलाह के अन्य मुद्दे | ऑपरेटर की कार्रवाई |
|---|---|---|---|
| <1.6.1 | यदि Cognito और बाहरी IdP दोनों कॉन्फ़िगर नहीं हैं, तो प्रभावित; नेटवर्क क्लाइंट को सुपर-एडमिन अधिकार मिल सकते थे। | CVE-2026-103957 और CVE-2026-103958 अलग मुद्दे हैं; वे भी 1.7.0 में ठीक किए गए। | 1.7.0 या बाद के संस्करण पर अपडेट करें। 1.6.1 केवल इस बायपास का न्यूनतम सुधार है। |
| 1.6.1–<1.7.0 | ठीक किया गया। IdP न होने पर अनुरोधों को 401 मिलता है; अपवाद तभी है जब स्थानीय-विकास विकल्प चालू हो और क्लाइंट loopback हो। | AWS के अनुसार दोनों संबंधित मुद्दे 1.7.0 में ठीक किए गए। | पूरी सलाह के सुधार पाने के लिए 1.7.0 या बाद के संस्करण पर अपडेट करें। |
| 1.7.0 या बाद का संस्करण | ठीक किया गया। | AWS 1.7.0 को सलाह के तीनों मुद्दों का सुधार बताता है। | Loom और उसके forks को समर्थित संस्करण पर रखें और सुधार शामिल होने की पुष्टि करें। |
मूल कारण विश्लेषण (Root Cause)
जब न तो Cognito और न ही कोई बाहरी पहचान प्रदाता कॉन्फ़िगर था, तो प्रमाणीकरण निर्भरता का फ़ॉलबैक अनुरोध अस्वीकार करने के बजाय चुपचाप t-admin और g-admins-super समूह दे देता था। API इस फ़ॉलबैक पहचान को प्रमाणित मान लेती थी, इसलिए बैकएंड तक पहुँचने वाला कोई भी नेटवर्क क्लाइंट कंट्रोल प्लेन पर सुपर-एडमिन अधिकार पा सकता था। सुधार डिफ़ॉल्ट रूप से पहुँच रोकता है; स्थानीय विकास के अपवाद के लिए स्पष्ट opt-in और loopback क्लाइंट आवश्यक हैं। CVE रिकॉर्ड इस समस्या को CWE-306 (महत्वपूर्ण फ़ंक्शन के लिए प्रमाणीकरण का अभाव) और CWE-1188 (असुरक्षित डिफ़ॉल्ट से आरंभ करना) से जोड़ता है।[1], [4], [7]
सोर्स कोड: कमज़ोर बनाम सुरक्षित कार्यान्वयन
कमज़ोर कोड get_current_user के बारे में अनुरक्षक के विवरण का सार है: Cognito और बाहरी IdP दोनों न होने पर यह पथ चुपचाप t-admin / g-admins-super दे देता था। सुरक्षित उदाहरण upstream में शामिल व्यवहार का सार है, शब्दशः स्रोत कोड नहीं: स्थानीय अपवाद के लिए स्पष्ट विकल्प और loopback क्लाइंट आवश्यक हैं; अन्य अनुरोध HTTP 401 से अस्वीकार होते हैं। FlawOpen परिनियोजन टिप्पणी: उत्पादन में request.client पर तभी भरोसा करें जब proxy कॉन्फ़िगरेशन अविश्वसनीय forwarded headers को loopback का झूठा दावा करने से रोकता हो। इस CVE के लिए 1.6.1 या नया संस्करण और अक्टूबर 2026 के पूरे बुलेटिन के लिए 1.7.0 या नया संस्करण अपनाएँ। इसमें exploit अनुरोध या credentials तक पहुँचने की प्रक्रिया शामिल नहीं है।[4], [1]
# प्रभावित get_current_user path के लिए maintainer द्वारा बताया गया सरल control flow
if not cognito_pool and not external_idp:
return User(username="t-admin", groups=["g-admins-super"])
return await authenticate_with_configured_idp(token)
# जब तक local-development exception स्पष्ट और केवल loopback तक सीमित न हो, अनुरोध अस्वीकार करें।
if not cognito_pool and not external_idp:
opted_in = os.getenv("LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV") == "true"
peer_is_local = request.client is not None and ipaddress.ip_address(
request.client.host
).is_loopback
if opted_in and peer_is_local:
return local_development_user()
raise HTTPException(status_code=401, detail="Identity provider is not configured")
return await authenticate_with_configured_idp(token)
इंजीनियरिंग और सिस्टम सुरक्षा चेकलिस्ट
- ✓Loom को 1.7.0 या नए संस्करण पर अपडेट करें; 1.6.1
CVE-2026-103956को ठीक करने वाला पहला संस्करण है, जबकि 1.7.0 पूरे बुलेटिन का समेकित लक्ष्य है।[1], [2], [3] - ✓Backend को loopback से बाहर उपलब्ध कराने से पहले Cognito या बाहरी IdP कॉन्फ़िगर होने की पुष्टि करें।[1]
- ✓डिप्लॉय किए गए वातावरण में
LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEVसेट न करें; स्थानीय विकास में इसका उपयोग हो तो सुनिश्चित करें कि क्लाइंट loopback है और अविश्वसनीय proxy सेवा को उजागर नहीं करता। FlawOpen परिनियोजन जाँच: proxy headers का प्रबंधन सत्यापित करने के बाद ही loopback संकेत पर भरोसा करें।[1], [4] - ✓FlawOpen विश्लेषण: अपडेट के बाद प्रभावित अवधि के एक्सेस और प्रशासनिक बदलावों की समीक्षा करें। AWS कॉन्फ़िगर किए गए OAuth2 क्लाइंट secrets को बदलने और प्रभावित अवधि में सक्रिय access tokens को रद्द करके फिर से जारी करने की सलाह देता है। यदि container role credentials तक पहुँच हुई थी, तो IAM role session credentials बदलें और अनधिकृत उपयोग के लिए CloudTrail की समीक्षा करें।[1]
- ✓
CVE-2026-103957औरCVE-2026-103958को 1.7.0 में ठीक हुई अलग समस्याएँ मानें; अपडेट तकmcp:writeऔरa2a:writeकेवल विश्वसनीय प्रशासकों को दें।[1], [3]
स्रोत
- AWS सुरक्षा बुलेटिन 2026-124-AWS
- AWS Loom 1.6.1 रिलीज़ नोट्स
- AWS Loom 1.7.0 रिलीज़ नोट्स
- अपस्ट्रीम PR #12: सुरक्षित प्रमाणीकरण विफलता सुधार
- NVD CVE-2026-103956 रिकॉर्ड
- MITRE CWE-306: महत्वपूर्ण फ़ंक्शन के लिए प्रमाणीकरण का अभाव
- CVE प्रोग्राम रिकॉर्ड — CVE-2026-103956
- MITRE CWE-1188 — असुरक्षित डिफ़ॉल्ट से संसाधन आरंभ करना