Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-33980 — Azure Data Explorer में डेटा एक्सफिल्ट्रेशन और विनाशकारी कमांड सक्षम करने वाले adx-mcp-server में table_name पैरामीटर के माध्यम से KQL इंजेक्शन के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट। | Kitploit
उपकरण/GitHubGitHub/romain-deperne/cve-2026-33980
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणक्लाउड सुरक्षाडेटाबेस सुरक्षा
GitHubromain-deperne/cve-2026-33980

CVE-2026-33980

Azure Data Explorer में डेटा एक्सफिल्ट्रेशन और विनाशकारी कमांड सक्षम करने वाले adx-mcp-server में table_name पैरामीटर के माध्यम से KQL इंजेक्शन के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट।

रिपॉजिटरी देखें
371 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-33980 — table_name पैरामीटर के माध्यम से adx-mcp-server में KQL इंजेक्शन

गंभीरता: उच्च (CVSS 8.3) CWE: CWE-943 — डेटा क्वेरी लॉजिक में विशेष तत्वों का अनुचित निष्क्रियीकरण प्रभावित: adx-mcp-server <= 1.1.0 सलाह: GHSA-vphc-468g-8rfp NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-33980 श्रेय: Romain Deperne

संक्षेप में

adx-mcp-server में तीन MCP टूल्स table_name पैरामीटर को f-strings के माध्यम से सीधे KQL (Kusto Query Language) क्वेरीज़ में इंटरपोलेट करते हैं। एक हमलावर या प्रॉम्प्ट-इंजेक्टेड AI एजेंट Azure Data Explorer क्लस्टर में किसी भी तालिका को पढ़ सकता है, प्रबंधन कमांड (.drop table) निष्पादित कर सकता है, या मनमानी एनालिटिक्स क्वेरीज़ चला सकता है — "सुरक्षित" मेटाडेटा टूल्स और कच्चे execute_query टूल के बीच की विश्वास सीमा को बायपास करते हुए।

विश्लेषण

मैं awesome-mcp-servers सूची को देख रहा था, विशेष रूप से उन MCP सर्वरों की तलाश में जो क्लाउड डेटा प्लेटफ़ॉर्म को रैप करते हैं — ये उच्च-जोखिम वाले होते हैं क्योंकि इन्हें AI एजेंट्स को सीधा डेटाबेस एक्सेस देने के लिए डिज़ाइन किया गया है, और MCP टूल पैरामीटर पूरी तरह से हमलावर-नियंत्रित होते हैं (कोई भी LLM जो अविश्वसनीय डेटा प्रोसेस कर रहा है, उसे प्रॉम्प्ट-इंजेक्ट करके दुर्भावनापूर्ण टूल आर्ग्युमेंट्स पास करने के लिए प्रेरित किया जा सकता है)।

यह समीक्षा करते हुए कि MCP टूल पैरामीटर Azure Data Explorer क्वेरीज़ तक कैसे पहुँचते हैं, server.py में तीन सीधे इंटरपोलेशन दिखे: f"{table_name} | getschema", f"{table_name} | sample {sample_size}", और f".show table {table_name} details"।

दिलचस्प हिस्सा विश्वास सीमा बायपास है: सर्वर एक कच्चा execute_query टूल (जिसके लिए MCP क्लाइंट्स मानवीय अनुमोदन की आवश्यकता रख सकते हैं) और ये "सुरक्षित" मेटाडेटा निरीक्षण टूल्स (जो स्वतः-अनुमोदित हो जाते हैं) दोनों प्रदान करता है। मेटाडेटा टूल्स के माध्यम से इंजेक्ट करने से आप क्लाइंट द्वारा लागू की गई किसी भी अनुमोदन नीति को बायपास कर सकते हैं। यही कारण है कि इसे "इंजेक्शन बग" से एक वास्तविक सुरक्षा सीमा उल्लंघन में बदल दिया गया।

KQL टिप्पणी सिंटैक्स (//) एक पेलोड को मूल क्वेरी के शेष भाग को दबाने की अनुमति देता है।

प्रभावित घटक

फ़ाइल: src/adx_mcp_server/server.py

# Line 228 — get_table_schema
query = f"{table_name} | getschema"

# Line 248 — sample_table_data
query = f"{table_name} | sample {sample_size}"

# Line 268 — get_table_details
query = f".show table {table_name} details"

सभी तीन table_name को MCP टूल आर्ग्युमेंट्स से सीधे client.execute(config.database, query) में बिना किसी वैलिडेशन के पास करते हैं।

मूल कारण

KQL | के साथ क्वेरी ऑपरेटरों को पाइप करने और . से प्रीफ़िक्स किए गए प्रबंधन कमांड निष्पादित करने की अनुमति देता है। // अक्षर एक लाइन कमेंट शुरू करता है। इसलिए सीधा f-string इंटरपोलेशन क्वेरी इंजेक्शन की अनुमति देता है:

  • f"{table_name} | getschema" → | getschema को कमेंट करने के लिए | project Secret // जोड़ें
  • f".show table {table_name} details" → प्रबंधन कमांड को चेन करने के लिए \n.drop table इंजेक्ट करें

यह एक साधारण execute_query टूल से आगे क्यों मायने रखता है: MCP क्लाइंट अक्सर "सुरक्षित" रीड-ओनली टूल्स (स्वतः-स्वीकृत) और रॉ एक्ज़ीक्यूशन टूल्स (पुष्टि आवश्यक) के बीच अंतर करते हैं। इंजेक्शन "सुरक्षित" मेटाडेटा टूल्स को लक्षित करता है, जिससे अनुमोदन सीमा बायपास हो जाती है।

PoC

पूर्ण प्रदर्शन के लिए poc.py देखें। मुख्य पेलोड:

# Data exfiltration via get_table_schema
# f"{table_name} | getschema" becomes:
# "sensitive_data | project Secret, Password | take 100 // | getschema"
# → // comments out "| getschema"; query reads sensitive_data columns
table_name = "sensitive_data | project Secret, Password | take 100 //"

# Destructive management command via get_table_details
# f".show table {table_name} details" becomes:
# ".show table users details\n.drop table critical_data details"
table_name = "users details\n.drop table critical_data"

MCP टूल कॉल:

{"name": "get_table_schema", "arguments": {"table_name": "sensitive_data | project Secret, Password | take 100 //"}}
{"name": "get_table_details", "arguments": {"table_name": "users details\n.drop table critical_data"}}

प्रभाव

  1. डेटा एक्सफ़िल्ट्रेशन — Azure Data Explorer डेटाबेस में किसी भी तालिका को पढ़ना
  2. डेटा विनाश — .drop table, .drop extents जैसे प्रबंधन कमांड
  3. प्रॉम्प्ट इंजेक्शन प्रवर्धन — ADX में हमलावर-नियंत्रित डेटा को संसाधित करने वाले AI एजेंट को दुर्भावनापूर्ण table_name मान पास करने के लिए हेरफेर किया जा सकता है, जिससे प्रॉम्प्ट इंजेक्शन पूर्ण डेटा एक्सेस में बदल जाता है

समयरेखा

  • रिपोर्ट किया गया: GHSA निजी सलाहकार
  • CVE प्रकाशित: CVE-2026-33980
टूल डाउनलोड करें