
PHP 8.5.11 - क्रिटिकल - रिमोट - UAF - CVE-2026-109619 PHP2Shell। Apache mod_php पर उसी वर्कर का फेटल बैकट्रेस और फिर INI डायग्नोस्टिक। लैब बनाम 8.5.12। एडवाइज़री RCE अनुमानित।
इंटरनेट पर कोई भी व्यक्ति आपकी PHP साइट से उसी तरह बात कर सकता है जैसे कोई ब्राउज़र करता है, बिना किसी पासवर्ड के। अंतिम-प्रभावित PHP 8.5 पर वे एक अनुरोध को घातक त्रुटि के साथ समाप्त होने के लिए बाध्य कर सकते हैं, फिर उसी वर्कर को दूसरा अनुरोध भेज सकते हैं। PHP 8.5 उस घातक त्रुटि से एक बैकट्रेस को वर्कर-ग्लोबल मेमोरी में बनाए रखता है, भले ही अनुरोध हीप हट चुका हो। दूसरा अनुरोध उसे पढ़ता है, जब वह एक शेष INI फ़्लैग लागू कर रहा होता है, इससे पहले कि इंजन स्वयं को रीसेट कर चुका हो। इस लैब में वह दूसरा अनुरोध Apache चाइल्ड को मार देता है। PHP Group ने दिखाया कि यही पैटर्न वेब वर्कर के रूप में रिमोट कोड एक्ज़ीक्यूशन में बदल सकता है।
Class: UAF / Crash Reach: Remote
PHP 8.5.11 (php:8.5.11-apache) बनाम पैच किया गया 8.5.12 - php.net
CVE-2026-109619 स्टेल वर्कर-ग्लोबल स्टेट है। लैब Apache prefork को एक चाइल्ड पर पिन करती है, fatal_error_backtraces=On के साथ एक घातक त्रुटि उत्पन्न करती है, फिर उसे प्रति-डायरेक्टरी php_flag auto_detect_line_endings on / report_memleaks off के साथ उपभोग करती है, जो php_request_startup() से पहले लागू होते हैं। 8.5.11: प्रोड्यूसर 200 घातक, कंज़्यूमर कनेक्शन रीसेट, Apache लॉग zend_mm_heap corrupted। 8.5.12: वही दो-चरणीय प्रक्रिया चालू रहती है (consumer-ok)। Apache वर्कर के रूप में RCE की सलाह GHSA से अनुमानित है।
| ID | CVE-2026-109619 |
| Advisory | GHSA-6wmf-4rv5-p3rp |
| Class | UAF / Crash (सलाह में RCE अनुमानित) |
| Reach | Remote (अप्रमाणित HTTP, समान वर्कर) |
| CWE | CWE-416 / CWE-825 |
| CVSS | Critical: 9.2 CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H (PHP Group) |
| Product | PHP |
| Affected | PHP 8.2, 8.2.35 से पहले; 8.3, 8.3.36 से पहले; 8.4, 8.4.27 से पहले; 8.5, 8.5.12 से पहले (लैब पिन 8.5.11, बैकट्रेस आर्म 8.5 है) |
| Fixed | 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 (21 अक्टूबर 2026) |
| Auth | कोई नहीं |
| License | GNU Affero GPL v3.0 |
| Lab | केवल 127.0.0.1 |
सहोदर: CVE-2026-109618 OOM longjmp (PHP2Shell युग्म)।
| Method | Sink | Privilege |
|---|---|---|
उसी Apache prefork चाइल्ड पर अप्रमाणित GET /producer.php फिर GET /consumer.php | 8.5 fatal_error_backtraces शटडाउन पर कभी रीसेट नहीं होता; php_request_startup() से पहले INI डायग्नोस्टिक | Availability (लैब-प्रमाणित): 8.5.11 पर उस चाइल्ड को मार दें (zend_mm_heap corrupted, कनेक्शन रीसेट)। Integrity (अनुमानित): डैंगलिंग बैकट्रेस पॉइंटर; विक्रेता ने www-data के रूप में RCE दिखाया। Recon (अनुमानित): शेष अनुरोध-हीप का खुलासा। |
| 8.5.12 पर वही दो-चरणीय प्रक्रिया | पूर्ण स्टेट रीसेट | Closed (लैब-प्रमाणित): कंज़्यूमर बॉडी consumer-ok, वर्कर चालू रहता है। |
error_reporting / display_errors / @ | चेतावनी अभी भी स्टेल स्टेट का उपभोग करती है | शमन के रूप में बंद। ग्लोबल स्टेट तक पहुँच PHP के यह तय करने से पहले होती है कि डायग्नोस्टिक रिपोर्ट करना है या नहीं। |
FPM पूल .user.ini | सामान्य इनिश के बाद लागू | इस प्रारंभिक कंज़्यूमर के रूप में बंद। FPM को फ्रंटएंड PHP_VALUE / PHP_ADMIN_VALUE चाहिए। सेशन अपलोड प्रगति एक दूसरा पुष्ट विक्रेता आर्म है (mod_php और FPM); इस लैब ने 8.5 बैकट्रेस आर्म का उपयोग किया। |
लॉगिन, रिवर्स शेल, कस्टम .so | लागू नहीं | बंद। कोई RIP नियंत्रण का प्रयास नहीं किया गया। |
लैब-प्रमाणित बनाम अनुमानित: समान-वर्कर UAF/क्रैश बनाम पैच किया गया नियंत्रण लैब-प्रमाणित है। RCE GHSA-6wmf-4rv5-p3rp से अनुमानित है।
आवश्यकताएँ: Apache apache2handler prefork एक वर्कर पर पिन किया गया। PHP 8.5 fatal_error_backtraces=On। प्रति-डायरेक्टरी INI डायग्नोस्टिक। आधिकारिक php:8.5.11-apache बनाम php:8.5.12-apache।
python3 php-stale-global-uaf-Abraxas-Labs.py
या cd lab && ./run.sh। लूपबैक 127.0.0.1:18222 (8.5.11) बनाम 127.0.0.1:18223 (8.5.12)। Compose प्रोजेक्ट cve-2026-109619। विटनेस CVE-2026-109619-UAF-WITNESS। अंतिम पंक्ति:
SUCCESS CVE-2026-109619 vuln-uaf=yes vuln-crash=yes patched-ok=yes sapi=apache2handler pin=same-worker vuln-image=php:8.5.11-apache patched-image=php:8.5.12-apache how=backtrace crash=connection-reset CVE-2026-109619-UAF-WITNESS
केवल अधिकृत लैब। यह लूपबैक से बात करता है।
PHP 8.5.12 (या 8.2.35 / 8.3.36 / 8.4.27) में अपडेट करें। तब तक: 8.5 पर fatal_error_backtraces=0 (केवल यह प्रोड्यूसर); session.upload_progress.enabled=0 (केवल सत्र आर्म); प्रति-अनुरोध deprecated INI हटाएँ; यदि आप वहन कर सकें तो pm.max_requests=1। कोई पूर्ण सामान्य कॉन्फ़िगरेशन शमन नहीं है।
Abraxas Labs [email protected]