FlawOpen

flawopen.com/AI Security/cve-2026-103956-aws-loom-authentication-bypass

● CVE-2026-103956 · CVSS v4 10.0[7] · अति गंभीर
सुरक्षा अनुसंधान · FlawOpen

CVE-2026-103956: AWS Loom में प्रमाणीकरण बायपास

CVE-2026-103956 ने AWS Labs के Loom for AWS के 1.6.1 से पुराने संस्करणों को प्रभावित किया: पहचान प्रदाता कॉन्फ़िगर न होने पर कोई भी नेटवर्क क्लाइंट सुपर-एडमिन अधिकार पा सकता था। इस और संबंधित सुधारों के लिए 1.7.0 या नया संस्करण अपनाएँ; प्रमाणीकरण बायपास 1.6.1 में ही ठीक कर दिया गया था।[1], [5]

CVSS वेक्टरCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H[7]
💡 आसान भाषा में (ELI5)

किसी इमारत का स्वागत-कक्ष खाली है, फिर भी सॉफ्टवेयर हर आगंतुक को मुख्य प्रशासक मानता है। सुधार के बाद पहचान प्रदाता न होने पर प्रवेश अस्वीकार होता है। स्थानीय विकास की छूट के लिए स्पष्ट विकल्प और उसी मशीन से कनेक्शन आवश्यक है।[1], [4]

इस पेज के मुख्य शब्द

पहचान प्रदाता (IdP)
Loom उपयोगकर्ताओं को प्रमाणित करने के लिए कॉन्फ़िगर की गई प्रणाली। Cognito और बाहरी IdP दोनों अनुपस्थित होने पर असुरक्षित स्थिति बनती थी।[1]
कंट्रोल प्लेन
एजेंट एकीकरण, क्रेडेंशियल और भूमिका नीतियों को संभालने वाली प्रशासनिक API परत।[1]
सुरक्षित विफलता
आवश्यक पहचान सेवा न मिलने पर डिफ़ॉल्ट विशेषाधिकार देने के बजाय अनुरोध अस्वीकार करना।[4]

फ्रेमवर्क मैपिंग

  • इस गाइड में बताई गई कमजोरी के लिए CWE संदर्भ: CWE-306 CWE-1188

हमले का चरण-दर-चरण प्रवाह

चरण 1

पहचान प्रदाता कॉन्फ़िगर नहीं है

1.6.1 से पहले की प्रभावित स्थिति में न Cognito उपयोगकर्ता पूल था, न बाहरी IdP।[1]

चरण 2

Fallback विशेषाधिकार वाला उपयोगकर्ता बनाता है

कमज़ोर get_current_user पथ बिना प्रमाणीकरण वाले अनुरोधों को भी चुपचाप t-admin और g-admins-super देता था।[4]

चरण 3

API कंट्रोल प्लेन अधिकार देता है

नेटवर्क से पहुँचने वाला क्लाइंट सुपर-एडमिन बनकर टूल सर्वर पंजीकृत कर सकता था, संग्रहीत एकीकरण क्रेडेंशियल पढ़ सकता था या प्रबंधित एजेंट भूमिकाओं की IAM नीतियाँ बदल सकता था। यह विक्रेता द्वारा बताया गया प्रभाव है, किसी तैनाती के वास्तव में भंग होने का प्रमाण नहीं।[1]

चरण 4

सुधार डिफ़ॉल्ट रूप से पहुँच रोकता है

1.6.1 में स्थानीय विकास अपवाद के लिए स्पष्ट LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV=true और loopback क्लाइंट दोनों चाहिए; अन्यथा HTTP 401 लौटता है। तीनों समस्याओं के लिए AWS 1.7.0 या नया संस्करण सुझाता है।[1], [4], [2], [3]

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)

इंजीनियरिंग और सिस्टम सुरक्षा चेकलिस्ट

स्रोत

← AI Security Directory →