
CVE-2026-109618 के लिए Python एक्सप्लॉइट: PHP session.upload_progress हीप करप्शन का दुरुपयोग करके zend_call_function को ओवरराइट करता है और रिमोट कमांड एक्ज़ीक्यूशन प्राप्त करता है।
██████╗ ██╗ ██╗██████╗ ██████╗ ███████╗██╗ ██╗███████╗██╗ ██╗ ██╔══██╗ ██║ ██║██╔══██╗╚════██╗██╔════╝██║ ██║██╔════╝██║ ██║ ██████╔╝ ███████║██████╔╝ █████╔╝███████╗███████║█████╗ ██║ ██║ ██╔═══╝ ██╔══██║██╔═══╝ ██╔═══╝ ╚════██║██╔══██║██╔══╝ ██║ ██║ ██║ ██║ ██║██║ ███████╗███████║██║ ██║███████╗███████╗███████╗ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
PHP Session Upload Progress Remote Code Execution Exploit (CVE-2026-109618)
CVE-2026-109618 PHP इंजन में सत्रों (session.upload_progress) के माध्यम से फ़ाइल अपलोड प्रगति ट्रैकिंग से संबंधित एक गंभीर मेमोरी करप्शन और लॉजिक भेद्यता है।
यह दोष इस बात में निहित है कि अनुरोध के पहले चरण (FILE_START) के दौरान बाहरी पॉइंटर post_bytes_processed को कैसे कैश किया जाता है और बाद के अपलोड इवेंट्स में यह ठीक से रीफ़्रेश होने में विफल रहता है। एक रेस कंडीशन, Hash ट्री के विनाशकारी रिलीज़ (HashTable.pDestructor = zval_ptr_dtor), और पैडेड संरचनाओं (t[] पैक्ड नेचुरल टेबल्स) का उपयोग करके नियंत्रित हीप स्प्रे को मिलाकर, आंतरिक इंजन फ़ंक्शन पॉइंटर्स (जैसे zend_call_function) को ओवरराइट करना संभव है ताकि निष्पादन प्रवाह को मनमाने कमांड्स के साथ system() की ओर पुनर्निर्देशित किया जा सके।
इस टूल को कंसोल इंटरफ़ेस, बैनर और इंटरैक्टिव पैनल रेंडर करने के लिए rich लाइब्रेरी की आवश्यकता होती है।
git clone [https://github.com/Ghxstsec/php2shell-poc.git](https://github.com/Ghxstsec/php2shell-poc.git)
cd php2shell-poc
आवश्यक निर्भरताएँ स्थापित करें
pip install -r requirements.txt
(या बस: pip install rich)
🚀 उपयोग और उदाहरण
लक्षित सिस्टम के लिए उपयुक्त पैरामीटर के साथ स्क्रिप्ट चलाएँ:
python3 php2shell.py -u "[https://target-domain.com/path/index.php](https://target-domain.com/path/index.php)" -c "uname -a; id"
कमांड लाइन विकल्प पैरामीटर विवरण डिफ़ॉल्ट मान -u, --url कमजोर PHP एंडपॉइंट का पूर्ण URL आवश्यक -c, --command ऑपरेटिंग सिस्टम पर निष्पादित करने के लिए कमांड uname -a; id; echo JACKALPOC --sid कस्टम सत्र पहचानकर्ता (PHPSESSID) a1b2c3d4e5f6a7b8c9d0e1f2a3 --stall ठहराव अवधि सेकंड में 1.35 --dtor zval_ptr_dtor का लीक हुआ मेमोरी पता (hex/int) 0 --call zend_call_function के लिए स्पष्ट मेमोरी पता ऑफ़सेट के माध्यम से गणना की गई --dry सिमुलेशन मोड: बाइनरी पेलोड उत्पन्न करता है और डिस्क पर सहेजता है False 🛠️ तकनीकी विवरण
हीप स्प्रेइंग: मुक्त किए गए मेमोरी ब्लॉक के पुनः उपयोग को सुनिश्चित करने के लिए 149 तत्वों के एक ब्लॉक (320-बाइट बिन के साथ पैक्ड नेचुरल टेबल) का उपयोग करता है।
SAPI समर्थन: CGI/FastCGI आर्किटेक्चर और संगत फ्रंट-एंड सर्वर (जैसे LiteSpeed LSAPI / Apache / Nginx) के अंतर्गत मूल्यांकन किए गए वातावरण के लिए डिज़ाइन किया गया।
ड्राई रन: फोरेंसिक विश्लेषण या डिबगिंग के लिए उत्पन्न मल्टीपार्ट पेलोड के सटीक बाइट स्ट्रीम को --dry फ़्लैग का उपयोग करके डंप करने की अनुमति देता है।
🛠️ तकनीकी विवरण
प्रभावित संस्करण: PHP 5.4 से लेकर PHP 8.x तक (PHP अनुरक्षकों द्वारा 8.2, 8.3, 8.4, और 8.5 के लिए जारी पैच)।
हीप स्प्रेइंग: मुक्त किए गए मेमोरी ब्लॉक के पुनः उपयोग को सुनिश्चित करने के लिए 149 तत्वों के एक ब्लॉक (320-बाइट बिन के साथ पैक्ड नेचुरल टेबल) का उपयोग करता है।
SAPI समर्थन: CGI/FastCGI आर्किटेक्चर और संगत फ्रंट-एंड सर्वर (जैसे LiteSpeed LSAPI / Apache / Nginx) के अंतर्गत मूल्यांकन किए गए वातावरण के लिए डिज़ाइन किया गया।
ड्राई रन: फोरेंसिक विश्लेषण या डिबगिंग के लिए उत्पन्न मल्टीपार्ट पेलोड के सटीक बाइट स्ट्रीम को --dry फ़्लैग का उपयोग करके डंप करने की अनुमति देता है।
📦 requirements.txt फ़ाइल
rich>=13.0.0
urllib3>=1.26.0
⚠️ कानूनी सूचना (अस्वीकरण)
यह सॉफ़्टवेयर विशेष रूप से शैक्षिक उद्देश्यों, सुरक्षा अनुसंधान और अधिकृत ऑडिटिंग उपयोग (पेंटेस्टिंग) के लिए बनाया गया है। लेखक (Ghxstsec) अनधिकृत सिस्टम पर इस स्क्रिप्ट के अनुचित उपयोग से होने वाले दुरुपयोग या क्षति के लिए कोई ज़िम्मेदारी नहीं लेता है।