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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/kuninogu/drupal-openai-provider-ssrf-cve-2026-13233
भेद्यता विश्लेषणवेब सुरक्षालर्निंग और शिक्षा
GitHubkuninogu/drupal-openai-provider-ssrf-cve-2026-13233

drupal-openai-provider-ssrf-cve-2026-13233

CVE-2026-13233 (Drupal OpenAI Provider, SA-CONTRIB-2026-053): response-URL SSRF / स्थानीय फ़ाइल पठन। अविश्वसनीय अपस्ट्रीम, प्रॉम्प्ट नहीं। सुरक्षित रीप्रोड्यूसर + डिटेक्शन। 1.1.1/1.2.2 में ठीक किया गया।

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

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

सभी देखें →

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

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

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

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

Drupal OpenAI Provider — प्रतिक्रिया URL के माध्यम से SSRF / स्थानीय फ़ाइल पठन (CVE-2026-13233)

अविश्वसनीय अपस्ट्रीम: वह प्रदाता जिसने वह URL लाया जिसे उसकी प्रतिक्रिया ने लाने को कहा। Drupal OpenAI Provider (ai_provider_openai) · SSRF (CWE-918) · CVE-2026-13233 · SA-CONTRIB-2026-053

स्थिति: समन्वित प्रकटीकरण पूर्ण (2026-07-10)। Drupal सुरक्षा टीम को निजी तौर पर रिपोर्ट किया गया, सुधारा गया, और CVE-2026-13233 / एडवाइज़री SA-CONTRIB-2026-053 (रेटेड मध्यम रूप से महत्वपूर्ण) के रूप में प्रकाशित। लेखक को खोजकर्ता और सुधार डेवलपर के रूप में श्रेय दिया गया।

एक AI "कनेक्शन बिंदु" पर क्लासिक प्राधिकरण / इनपुट-सत्यापन दोष का अध्ययन: एक AI छवि-निर्माण प्रदाता ने बिना किसी स्कीम अनुमति-सूची वाले सामान्य-उद्देश्य फ़ंक्शन का उपयोग करके अपस्ट्रीम API प्रतिक्रिया में निहित URL लाया। उन परिनियोजनों पर जहाँ कॉन्फ़िगर किया गया अपस्ट्रीम विश्वसनीय डिफ़ॉल्ट नहीं है (bring-your-own-endpoint / प्रॉक्सी / self-hosted गेटवे / समझौता किया गया रिले), प्रतिक्रिया सर्वर को file:// या किसी आंतरिक पते की ओर इंगित कर सकती है।

सिंक तक पहुँचने वाला अविश्वसनीय इनपुट अपस्ट्रीम प्रतिक्रिया URL है — न कि उपयोगकर्ता का प्रॉम्प्ट।

  • वर्ग (प्रकाशित): SSRF (CWE-918)। SSRF में file:// स्थानीय फ़ाइल पठन शामिल था; लेखक के आंतरिक विश्लेषण ने इसे CWE-73 / CWE-441 से भी मैप किया।
  • गंभीरता: Drupal मध्यम रूप से महत्वपूर्ण (SA-CONTRIB-2026-053) — Drupal के पैमाने पर मध्य बैंड ≈ CVSS Medium; CVSS Critical/High नहीं। लेखक का प्रकटीकरण-पूर्व स्व-मूल्यांकन: न्यूनतम 3.1 / सशर्त 5.3 (Medium); पिछले 6.5 / 7.4 वापस लिए गए, और मध्य रेटिंग ने उसे सही ठहराया।
  • प्रभावित: Drupal core 11.2 पर Drupal OpenAI Provider (ai_provider_openai) < 1.1.1 और 1.2.0–1.2.1 (1.2.1 का ऑडिट किया गया)
  • इसमें सुधारा गया: 1.1.1 / 1.2.2 · CVE: CVE-2026-13233 · एडवाइज़री: https://www.drupal.org/sa-contrib-2026-053

क्या प्रदर्शित किया गया (पुष्टि) बनाम क्या नहीं (असत्यापित)

सभी सत्यापन एक स्वामित्व वाले, नेटवर्क-पृथक सैंडबॉक्स में एक मॉक अपस्ट्रीम के विरुद्ध चले। असली OpenAI API को कभी कॉल नहीं किया गया। लीक ओरेकल केवल सिंथेटिक थे।

पुष्टि की गई (गतिशील रूप से प्रदर्शित):

  • गैर-व्यवस्थापक ट्रिगर → अपस्ट्रीम-चयनित स्थानीय फ़ाइल का सर्वर-पक्ष पठन (प्रति-रन अद्वितीय मार्कर के साथ मनमाना पथ सिद्ध; परोसा गया बॉडी कच्चे-बाइट में मार्कर के बराबर; मार्कर केवल ऐप कंटेनर में मौजूद, मॉक पर अनुपस्थित — जो "मॉक ने अपनी फ़ाइल लौटाई" को खारिज करता है)।
  • settings.php पठन sha256 बाइट-मिलान (35,182 B) द्वारा पुष्ट — सामग्री कभी मुद्रित नहीं; इसलिए DB क्रेडेंशियल दायरे में हैं।
  • आंतरिक HTTP SSRF प्रतिक्रिया पुनर्प्राप्ति एक ऐसी सेवा से जिसका कोई सार्वजनिक पोर्ट नहीं है (आंतरिक टोकन कच्चे-बाइट मिलान)।
  • प्राधिकरण सीमा: समान खाते को व्यवस्थापक कॉन्फ़िगर मार्ग पर 403 मिलता है (200-बनाम-403 कंट्रास्ट)।
  • बिना किसी AI अनुमति वाले संपादक द्वारा एक यथार्थवादी व्यवस्थापक-कॉन्फ़िगर फ़ील्ड-विजेट "Generate" प्रवाह के माध्यम से वैध-HTTP पहुँच।

असत्यापित (स्पष्ट रूप से दावा नहीं किया गया):

  • क्लाउड मेटाडेटा (IMDS) क्रेडेंशियल चोरी — उसी सिंक से तंत्र-संगत, प्रयास नहीं किया गया।
  • बेस-क्लास जुड़वाँ गतिशील पहुँच — इस प्रदाता पर ओवरराइड किया गया (इस लक्ष्य के लिए मृत कोड); सुधार को पोर्ट करने हेतु समान-मूल-कारण वैरिएंट के रूप में दर्ज, कोई अलग दावा नहीं।
  • निष्क्रिय "केवल-सहेजें" ऑटोमेटर सक्रियण — परीक्षण किया गया, नकारात्मक। "केवल सहेजना" इसे ट्रिगर नहीं करता।
  • संग्रहीत-XSS (कंटेंट-टाइप भ्रम) और स्पीच-टू-टेक्स्ट समवर्ती रेस — अलग सुराग, अप्रमाणित।

प्रभावित नहीं: TLS पर डिफ़ॉल्ट api.openai.com। host सेटिंग व्यवस्थापक / config-sync / डिप्लॉय नियंत्रित है — एक रनटाइम गैर-व्यवस्थापक हमलावर इसे बदल नहीं सकता।


मूल कारण और सुधार दिशा (सारांश)

प्रतिक्रिया URL को एक सामान्य-उद्देश्य फ़ेच को पारित किया गया जो प्रत्येक पंजीकृत PHP स्ट्रीम रैपर (file, php, http, data, phar, …) का सम्मान करता है। response_format डिफ़ॉल्ट रूप से url है, इसलिए कमजोर शाखा डिफ़ॉल्ट पथ है। file:// PHP का डिफ़ॉल्ट फ़ाइलसिस्टम रैपर है और allow_url_fopen द्वारा गेटेड नहीं है (पहले का "allow_url_fopen आवश्यक है" दावा गलत था और वापस ले लिया गया है)।

प्रिमिटिव को ठीक करें, केवल कॉल साइट को नहीं:

  1. दूरस्थ पुनर्प्राप्ति के लिए सामान्य-उद्देश्य फ़ेच का उपयोग बंद करें; इंजेक्ट किए गए HTTP-केवल क्लाइंट का उपयोग करें।
  2. अनुरोध से पहले सत्यापित करें कि स्कीम http/https है; रीडायरेक्ट अक्षम करें (एक 30x file:// पर उछल सकता है)।
  3. गहराई में रक्षा (Defense in depth): हल किए गए निजी/link-local/लूपबैक होस्ट को अस्वीकार करें, या कॉन्फ़िगर किए गए इमेज-CDN होस्ट(ों) तक सीमित करें; आकार / content-type / इमेज-डिकोड सत्यापित करें।
  4. समान सुधार को बेस क्लास में पोर्ट करें ताकि सहोदर प्रदाता इसे विरासत में पाएँ (अन्यथा अधूरा सुधार)।
  5. रिग्रेशन परीक्षण अस्वीकार-मामला पहले हैं: file://…, http://169.254.169.254/…, और एक 302→file:// रीडायरेक्ट — सभी अस्वीकार किए जाने चाहिए।

पूर्ण दिशा: docs/fix-direction.md।


निर्देशिका संरचना

.
├── README.md                          # this file (English, canonical)
├── README_ja.md                       # Japanese mirror
├── SECURITY.md                        # reporting policy + responsible-disclosure disclaimer
├── .gitignore                         # blocks secrets / primary evidence from being committed
├── docs/
│   └── fix-direction.md               # root-cause fix + variant hunt + minimal-diff sketch (EN)
├── reproducer/                        # SAFE reproducer only (sandbox, mock upstream, benign oracle)
│   ├── README.md                      # how to stand up the network-isolated sandbox
│   ├── verdict.md                     # what "success" means: raw-byte match + 200-vs-403 + exit codes
│   ├── mock-openai-server.py          # benign mock; default happy-path PNG, ssrf_demo → file:///etc/hostname only
│   └── docker-compose.yml             # TEMPLATE: isolated Drupal sandbox + mock (you add the vulnerable target)
├── detections/
│   ├── README.md
│   ├── sigma/web-egress-to-internal-after-imagegen.yml
│   ├── sigma/php-sensitive-file-open.yml
│   ├── sentinel/imagegen-egress-correlation.kql
│   └── splunk/imagegen-content-type-mismatch.spl
└── timeline.md                        # disclosure timeline (single source of truth)

दस्तावेज़ वर्तमान में जापानी में हैं (.ja.md); अंग्रेज़ी विहित अनुवाद एक TODO है। इस रिपॉजिटरी से रोके गए: आर्मिंग पेलोड और कोई भी टर्नकी फ़ाइल-पठन PoC। सार्वजनिक reproducer/ एक एकल बेनाइन ओरेकल (/etc/hostname) का उपयोग करके मॉक के विरुद्ध दोष तंत्र प्रदर्शित करता है — कोई मनमाना-पथ पठन नहीं, कोई settings.php प्राप्ति नहीं, कोई IMDS नहीं। यह लाइव साइटों के विरुद्ध हथियार नहीं है। 1.1.1 / 1.2.2 पर अपडेट करें।


सुरक्षित रिप्रोड्यूसर

लक्ष्य: किसी शोधकर्ता को लाइव-लक्ष्य शोषण प्रदान किए बिना या रहस्य उजागर किए बिना दोष वर्ग की पुष्टि करने देना। सब कुछ ऑफ़लाइन चलता है।

टूल डाउनलोड करें