
दूसरा CVE अभी भी रिमोट कोड निष्पादन
CVE-2026-35196 · Chamilo LMS · OS कमांड इंजेक्शन → RCE
शोधकर्ता: K
प्रकटीकरण प्रकार: उत्तरदायी प्रकटीकरण
स्थिति: पैच किया गया प्रभावित उत्पाद: Chamilo LMS< 2.0(v1.11.32पर पुष्टि की गई)
| फ़ील्ड | विवरण |
|---|---|
| उत्पाद | Chamilo LMS |
| प्रभावित संस्करण | < 2.0 (v1.11.32 पर पुष्टि की गई) |
| भेद्यता | OS कमांड इंजेक्शन |
| CWE | CWE-78 — OS कमांड में विशेष तत्वों का अनुचित न्यूट्रीकरण |
| CVSSv3.1 स्कोर | 8.8 (उच्च) |
| वेक्टर | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| प्रमाणीकरण आवश्यक | हाँ (किसी भी प्रमाणित उपयोगकर्ता जिसका सत्र जहरीला हो) |
| शोषण प्रकार | प्रमाणित दूरस्थ कोड निष्पादन |
| भेद्य फ़ाइल | main/inc/ajax/gradebook.ajax.php |
Chamilo LMS v1.11.32 के main/inc/ajax/gradebook.ajax.php फ़ाइल में export_all_certificates कार्रवाई में एक गंभीर OS कमांड इंजेक्शन भेद्यता मौजूद है।
एप्लिकेशन api_get_course_id() के माध्यम से एक कोर्स कोड प्राप्त करता है, जो सीधे $_SESSION['_cid'] से पढ़ता है। यह सत्र-व्युत्पन्न मान बिना सैनिटाइज़ किए shell_exec() कॉल में संयोजित किया जाता है — कोई escapeshellarg() नहीं, कोई व्हाइटलिस्ट सत्यापन नहीं, कोई प्रकार प्रवर्तन नहीं।
एक हमलावर जो अपने सत्र के _cid वेरिएबल में हेरफेर या विषाक्तता (सेशन पॉइज़निंग, IDOR चेनिंग, या अन्य सत्र हेरफेर प्राइमिटिव के माध्यम से) कर सकता है, वह मनमाना शेल मेटाकैरेक्टर इंजेक्ट कर सकता है और वेब सर्वर उपयोगकर्ता (www-data) के रूप में पूर्ण दूरस्थ कोड निष्पादन प्राप्त कर सकता है।
भेद्य फ़ाइल: main/inc/ajax/gradebook.ajax.php
भेद्य फ़ंक्शन: export_all_certificates
जब कोई उपयोगकर्ता export_all_certificates कार्रवाई को ट्रिगर करता है, तो स्क्रिप्ट प्रमाणपत्रों को संसाधित करने के लिए एक पृष्ठभूमि प्रक्रिया चलाने का प्रयास करती है:
$courseCode = api_get_course_id(); // $_SESSION['_cid'] से मान प्राप्त करता है
$sessionId = api_get_session_id();
// ...
$commandScript = api_get_path(SYS_CODE_PATH).'gradebook/cli/export_all_certificates.php';
$userList = implode(',', $userList);
// त्रुटि: $courseCode जैसे वेरिएबल बिना escapeshellarg() के सीधे शेल को भेजे जाते हैं
shell_exec("php $commandScript $courseCode $sessionId $categoryId $userList > /dev/null &");
चूंकि एप्लिकेशन सत्र वेरिएबल की सामग्री पर अंतर्निहित रूप से भरोसा करता है और सिस्टम शेल में भेजने से पहले उन्हें ठीक से एस्केप करने में विफल रहता है, एक हमलावर हेरफेर किए गए सत्र के साथ दुर्भावनापूर्ण कमांड जोड़ और निष्पादित कर सकता है। उदाहरण के लिए, यदि _cid में "; touch /tmp/remote_code_by_k; #" है, तो bash/sh शेल द्वारा व्याख्या किया गया कमांड बन जाता है:
php /var/www/chamilo/main/gradebook/cli/export_all_certificates.php ; touch /tmp/remote_code_by_k; # ... > /dev/null &
शेल CLI स्क्रिप्ट को निष्पादित करता है, उसके बाद इंजेक्ट किए गए पेलोड को, और शेष अभीष्ट कमांड स्ट्रिंग को अनदेखा कर देता है।
$_SESSION['_cid'] वेरिएबल को प्रभावित करना होगा। यह इस दोष को सत्र विषाक्तता भेद्यता के साथ जोड़कर या एप्लिकेशन में कहीं और IDOR या असुरक्षित पैरामीटर हैंडलिंग के माध्यम से कोर्स कोड मान में हेरफेर करके अपने सत्र संदर्भ को अपडेट करके प्राप्त किया जा सकता है।_cid सत्र वेरिएबल को सेट करें: "; [दुर्भावनापूर्ण_कमांड]; #"GET अनुरोध भेजें: /main/inc/ajax/gradebook.ajax.php?a=export_all_certificates&cat_id=1www-data) के विशेषाधिकारों के साथ इंजेक्ट किए गए कमांड को निष्पादित करता है।| आयाम | प्रभाव |
|---|---|
| गोपनीयता | पूर्ण पढ़ने की पहुंच — स्रोत कोड, कॉन्फ़िगरेशन, DB क्रेडेंशियल, /etc/passwd |
| अखंडता | मनमाना फ़ाइल लेखन, वेबशेल तैनाती, डेटाबेस हेरफेर |
| उपलब्धता | सेवा व्यवधान, फ़ाइलसिस्टम विनाश, रैनसमवेयर तैनाती |
| दायरा | वेब सर्वर प्रक्रिया (www-data); क्रेडेंशियल एक्सपोज़र के माध्यम से पार्श्व गति की संभावना |
escapeshellarg() लागू करें: shell_exec() में पास करने से पहले सभी उपयोगकर्ता-व्युत्पन्न वेरिएबल (जैसे $courseCode, $sessionId, और $userList) को PHP के escapeshellarg() से लपेटें ताकि मनमाना OS मेटाकैरेक्टर को निष्क्रिय किया जा सके।$_SESSION['_cid']) कठोर रूप से टाइप किए गए और सैनिटाइज़ किए गए हैं ताकि संभावित "सत्र विषाक्तता" या IDOR चेनिंग हमलों को प्रवेश बिंदु पर ही रोका जा सके।www-data) को प्रतिबंधात्मक फ़ाइलसिस्टम लेखन अनुमतियों के साथ कॉन्फ़िगर करें और पोस्ट-एक्सप्लॉइटेशन क्षमताओं को कम करने के लिए आवश्यक Linux शेल बाइनरी तक एप्लिकेशन पहुंच को सीमित करें।| घटक | विवरण |
|---|---|
| OS | Ubuntu Server (Docker) |
| वेब सर्वर | Apache / Nginx |
| PHP | 7.x / 8.x |
| एप्लिकेशन | Chamilo LMS v1.11.32-v2.0 |
| शेल | /bin/sh → bash |
Handle : K
GitHub : https://github.com/kx00007
Focus : Server-Side Vulnerability RCE, CVE Hunting, Vulnerability Research, Exploit Development
Prior : CVE-2026-29041 (Chamilo LMS — Authenticated RCE via File Upload)
⚡और प्रयास करें।