
CVE-2012-1823 - PHP CGI आर्गुमेंट इंजेक्शन रिमोट कोड निष्पादन (RCE)
गंभीरता: क्रिटिकल (CVSS 9.8)
CVE: CVE-2012-1823
प्रकाशित: मई 11, 2012
प्रभावित सॉफ़्टवेयर: CGI मोड में चलने वाला PHP (php-cgi)
भेद्यता प्रकार: तर्क इंजेक्शन / रिमोट कोड निष्पादन (RCE)
हमला वेक्टर: नेटवर्क
प्रमाणीकरण आवश्यक: कोई नहीं
CVE-2012-1823 PHP में अब तक खोजी गई सबसे महत्वपूर्ण रिमोट कोड निष्पादन (Remote Code Execution) कमजोरियों में से एक है। यह भेद्यता उन PHP इंस्टॉलेशन को प्रभावित करती है जिन्हें कॉमन गेटवे इंटरफ़ेस (CGI) के माध्यम से निष्पादित करने के लिए कॉन्फ़िगर किया गया है, जिससे बिना प्रमाणीकरण वाला हमलावर दूरस्थ रूप से मनमाना PHP कोड निष्पादित कर सकता है।
उन कमजोरियों के विपरीत जिनके लिए वेब एप्लिकेशन के भीतर दोषों की आवश्यकता होती है, यह समस्या php-cgi का उपयोग करके तैनात किए जाने पर स्वयं PHP के भीतर मौजूद होती है। चूंकि भेद्यता इंटरप्रेटर स्तर पर मौजूद है, प्रभावित सर्वर पर होस्ट किया गया प्रत्येक PHP एप्लिकेशन असुरक्षित हो जाता है, भले ही एप्लिकेशन में कोडिंग दोष हों या न हों।
यह भेद्यता 2012 में अपनी सरलता, विश्वसनीयता और इंटरनेट पर व्यापक शोषण के कारण अत्यधिक चर्चित हो गई। खुलासे के वर्षों बाद भी, इंटरनेट-व्यापी स्कैन असुरक्षित सिस्टम की पहचान करते रहते हैं, और यह भेद्यता शोषण फ्रेमवर्क और रक्षात्मक पहचान उपकरणों में शामिल बनी हुई है। :contentReference[oaicite:0]{index=0}
यह भेद्यता PHP के CGI कार्यान्वयन (php-cgi) के भीतर मौजूद है।
सामान्यतः, HTTP क्वेरी पैरामीटर PHP स्क्रिप्ट में उपयोगकर्ता इनपुट के रूप में पारित किए जाने के लिए होते हैं।
हालाँकि, PHP विशेष रूप से तैयार किए गए क्वेरी स्ट्रिंग्स को गलत तरीके से संसाधित करता है जिनमें बराबर (=) वर्ण नहीं होता।
क्वेरी स्ट्रिंग को पूरी तरह से उपयोगकर्ता डेटा के रूप में मानने के बजाय, PHP गलती से इसके कुछ हिस्सों को सीधे PHP निष्पादन योग्य को पारित किए गए कमांड-लाइन तर्क के रूप में व्याख्या करता है।
क्योंकि PHP कई कमांड-लाइन स्विच (जैसे -d) का समर्थन करता है, एक हमलावर अनुरोध प्रसंस्करण के दौरान PHP रनटाइम कॉन्फ़िगरेशन विकल्पों को ओवरराइड कर सकता है।
यह हमलावर को निम्नलिखित की अनुमति देता है:
मूल कारण अंदर php_getopt() का अनुचित हैंडलिंग है:
sapi/cgi/cgi_main.c
विशेष रूप से, PHP बराबर चिह्न (=) से रहित दुर्भावनापूर्ण क्वेरी स्ट्रिंग्स को संसाधित करते समय कमांड-लाइन पार्सिंग को सही ढंग से अनदेखा करने में विफल रहा। :contentReference[oaicite:1]{index=1}
CGI निष्पादन योग्य कमांड-लाइन पैरामीटर स्वीकार करता है।
उदाहरण के लिए:
php-cgi -d allow_url_include=1
सामान्यतः ये पैरामीटर केवल ऑपरेटिंग सिस्टम से उत्पन्न होने चाहिए।
इसके बजाय, PHP ने गलत तरीके से HTTP अनुरोधों को विशेष रूप से तैयार किए गए URL के माध्यम से उन पैरामीटरों को इंजेक्ट करने की अनुमति दी।
इसलिए हमलावर लक्षित स्क्रिप्ट निष्पादित होने से पहले PHP रनटाइम कॉन्फ़िगरेशन में हेरफेर कर सकता था।
इसने प्रभावी रूप से एक साधारण HTTP अनुरोध को php-cgi के विरुद्ध कमांड-लाइन निष्पादन में बदल दिया।
निम्नलिखित PHP रिलीज़ असुरक्षित हैं:
| संस्करण | स्थिति |
|---|---|
| PHP < 5.3.12 | असुरक्षित |
| PHP 5.4.x < 5.4.2 | असुरक्षित |
केवल CGI मोड (php-cgi) का उपयोग करने वाले इंस्टॉलेशन प्रभावित होते हैं।
निम्न रूप में चलने वाला PHP:
आम तौर पर CVE-2012-1823 से प्रभावित नहीं होते हैं। :contentReference[oaicite:2]{index=2}
एक हमलावर को केवल निम्नलिखित की आवश्यकता होती है:
यह भेद्यता पूरी तरह से दूरस्थ रूप से शोषण योग्य है।
हमला आम तौर पर इन चरणों का पालन करता है:
कोड निष्पादन प्राप्त होने के बाद, हमलावर आमतौर पर:
सफल शोषण के परिणामस्वरूप PHP एप्लिकेशन से पूरी तरह समझौता हो जाता है।
संभावित परिणाम निम्नलिखित हैं:
यदि PHP उन्नत विशेषाधिकारों के साथ निष्पादित होता है, तो सिस्टम-स्तरीय समझौता भी संभव हो सकता है।
| मीट्रिक | मान |
|---|---|
| आधार स्कोर | 9.8 |
| गंभीरता | क्रिटिकल |
| हमला वेक्टर | नेटवर्क |
| हमले की जटिलता | कम |
| आवश्यक विशेषाधिकार | कोई नहीं |
| उपयोगकर्ता इंटरैक्शन | कोई नहीं |
| गोपनीयता | उच्च |
| अखंडता | उच्च |
| उपलब्धता | उच्च |
कई विशेषताओं ने CVE-2012-1823 को विशेष रूप से प्रभावशाली बनाया:
शोषण में आसानी और गंभीर प्रभाव के इसके संयोजन ने व्यापक वास्तविक-दुनिया के हमलों को जन्म दिया और इसे CISA के Known Exploited Vulnerabilities (KEV) कैटलॉग में शामिल किया गया। :contentReference[oaicite:4]{index=4}
प्रशासकों को निम्नलिखित सत्यापित करना चाहिए:
संकेतक निम्नलिखित हैं:
Nuclei, Nessus, OpenVAS और Metasploit मॉड्यूल जैसे सुरक्षा स्कैनर असुरक्षित कॉन्फ़िगरेशन का पता लगा सकते हैं। :contentReference[oaicite:5]{index=5}
अनुशंसित शमन उपाय निम्नलिखित हैं:
| तारीख | घटना |
|---|---|
| मई 2012 | भेद्यता सार्वजनिक रूप से प्रकट हुई |
| मई 2012 | सुरक्षा पैच जारी किए गए |
| 2012 | सार्वजनिक शोषण जारी किए गए |
| 2012 | Metasploit मॉड्यूल प्रकाशित हुआ |
| अगले वर्षों | व्यापक इंटरनेट शोषण देखा गया |
| वर्तमान | भेद्यता स्कैन और लीगेसी सिस्टम में दिखाई देता रहता है |
यह रिपॉज़िटरी केवल शैक्षिक उद्देश्यों, सुरक्षा अनुसंधान, भेद्यता विश्लेषण और रक्षात्मक परीक्षण के लिए है। इसमें निहित किसी भी जानकारी का उपयोग केवल उन्हीं सिस्टम पर किया जाना चाहिए जिनके लिए आपके पास स्पष्ट प्राधिकरण है। असुरक्षित सिस्टम का अनधिकृत शोषण अवैध और अनैतिक है।