
Checkmk एक्सटेंशन जिसमें एक एजेंट प्लग-इन है जो Linux होस्ट पर PHP बाइनरीज़ और Apache mod_php की इन्वेंटरी करता है और PHP2Shell (CVE-2026-109618/109619) स्थिति, बैकपोर्ट्स और स्टेल प्रोसेस की रिपोर्ट करता है।
एक Checkmk एक्सटेंशन जो Linux होस्ट पर प्रत्येक PHP इंस्टॉलेशन के लिए दिखाता है कि क्या वह PHP2Shell से प्रभावित है - प्री-ऑथेंटिकेशन रिमोट कोड एक्ज़ीक्यूशन कमज़ोरियाँ CVE-2026-109618 और CVE-2026-109619, जिन्हें 2026-10-21 को PHP 8.2.35, 8.3.36, 8.4.27 और 8.5.12 में प्रकट और ठीक किया गया था।
यह एक छोटा POSIX शेल एजेंट प्लग-इन शिप करता है जो केवल तथ्य एकत्र करता है (PHP बाइनरी, Apache mod_php, NGINX Unit और FrankenPHP की PHP लाइब्रेरी, संस्करण, पैकेज चेंजलॉग, php.ini सेटिंग्स, बदली गई बाइनरी को अभी भी चला रहे प्रोसेस)। क्या इसका अर्थ "ठीक किया गया" या "कमज़ोर" है, यह Checkmk सर्वर पर चेक प्लग-इन द्वारा तय किया जाता है, इसलिए नई जानकारी - कोई अन्य ठीक किया गया रिलीज़, कोई नया CVE - के लिए केवल एक अद्यतन .mkp की आवश्यकता होती है, हर होस्ट पर नई स्क्रिप्ट की नहीं।
केवल संस्करण संख्याओं की तुलना क्यों न करें: वितरण अपस्ट्रीम संस्करण बदले बिना फ़िक्स को बैकपोर्ट करते हैं। Ubuntu 24.04 PHP 8.3.6 शिप करता है और AlmaLinux 9 8.0.30 शिप करता है - दोनों ठीक किए गए, दोनों संस्करण के अनुसार "कमज़ोर"। इसलिए एक्सटेंशन उस पैकेज का चेंजलॉग भी पढ़ता है जो प्रत्येक बाइनरी का स्वामी है।
cmk_addons.plugins प्लग-इन API का उपयोग करते हुए)।/proc/<pid>/maps पढ़ता है)। GNU या busybox टूल्स के साथ सादा POSIX sh; पैकेज चेंजलॉग dpkg, rpm या apk से पढ़े जाते हैं। Debian परिवार (Debian, Ubuntu), Red Hat परिवार (RHEL, AlmaLinux, Rocky Linux, Oracle Linux, CentOS Stream, Fedora, Amazon Linux 2023, CentOS 7) और Alpine पर परीक्षण किया गया, नीचे देखें।| Checkmk इमेज | तिथि | परिणाम |
|---|---|---|
checkmk/check-mk-ultimate:2.5.0p17 | 2026-10-27 | OK (build, cmk-validate-plugins, smoke test, install + discovery + check + agent bake) |
checkmk/check-mk-ultimate:3.0.0-2026.10.27 (daily) | 2026-10-27 | OK (build, cmk-validate-plugins, smoke test, install + discovery + check + agent bake) |
एजेंट प्लग-इन को 2026-10-27 को वितरणों के अपने PHP पैकेजों के विरुद्ध चलाया गया था (scripts/test_agent_plugin.sh)। जहाँ कोई लक्ष्य वेब SAPIs (FPM, Apache mod_php जहाँ वितरण अभी भी इसे शिप करता है, NGINX Unit, FrankenPHP) शुरू करता है, वहाँ FPM बाइनरी और libphp को बाद में डिस्क पर बदल दिया गया, और रीस्टार्ट डिटेक्शन ने चल रहे प्रोसेस की रिपोर्ट की।
Debian परिवार और Alpine
| वितरण | PHP पैकेज | प्लग-इन परिणाम |
|---|---|---|
| Ubuntu 24.04 | 8.3.6-0ubuntu0.24.04.13 (CLI, FPM, CGI, mod_php) | बैकपोर्ट द्वारा ठीक किया गया (चेंजलॉग दोनों CVE का नाम लेता है) |
| Debian 12 | 8.2.35-1~deb12u1 (CLI, FPM, mod_php) | संस्करण द्वारा ठीक किया गया |
| Debian 12 + nginx | 8.2.35-1~deb12u1 (CLI, nginx के पीछे FPM) | संस्करण द्वारा ठीक किया गया |
| Debian 13 | 8.4.27-1~deb13u1 (CLI, FPM) | संस्करण द्वारा ठीक किया गया |
| Alpine 3.22 | php83 8.3.36-r0 (CLI, FPM, CGI) | संस्करण द्वारा ठीक किया गया |
Red Hat परिवार
| वितरण | PHP पैकेज | प्लग-इन परिणाम |
|---|---|---|
| AlmaLinux 8.10 | 7.2.24-1.module_el8.10.0 (CLI, FPM, CGI, mod_php libphp7.so) | बैकपोर्ट द्वारा ठीक किया गया (changelog में दोनों CVE का उल्लेख है) |
AlmaLinux 8.10, मॉड्यूल php:8.2 | 8.2.35-1.module_el8.10.0 (CLI, FPM, CGI) | संस्करण द्वारा ठीक किया गया |
| RHEL 9.8 (UBI), AlmaLinux 9.8, Rocky Linux 9.8, Oracle Linux 9.8 | 8.0.30-8.el9_8.1 (CLI, FPM, CGI) | बैकपोर्ट द्वारा ठीक किया गया (changelog में दोनों CVE का उल्लेख है) |
AlmaLinux 9.8, मॉड्यूल php:8.3 | 8.3.36-1.module_el9.8.0 (CLI, FPM, CGI) | संस्करण द्वारा ठीक किया गया |
| AlmaLinux 9.8 + Remi SCL | php74 7.4.33-31.el9.remi, php81 8.1.34-6.el9.remi (/opt/remi) | बैकपोर्ट द्वारा ठीक किया गया (changelog में दोनों CVE का उल्लेख है) |
| AlmaLinux 10.2, CentOS Stream 10 | 8.3.36-1.el10 (CLI, FPM, CGI) | संस्करण द्वारा ठीक किया गया |
| Fedora 44 | 8.5.12-1.fc44 (CLI, FPM, CGI) | संस्करण द्वारा ठीक किया गया |
| Amazon Linux 2023 | php8.5 8.5.12-1.amzn2023.0.1 (CLI, FPM, CGI) | संस्करण द्वारा ठीक किया गया |
| CentOS 7 (जीवनकाल समाप्त, vault) | 5.4.16-48.el7 (CLI, FPM, CGI) | असुरक्षित - सशुल्क विस्तारित समर्थन के बाहर EL7 के लिए कोई बैकपोर्ट नहीं |
आधिकारिक कंटेनर इमेज और FrankenPHP
| इमेज | PHP | प्लग-इन परिणाम |
|---|---|---|
php:8.2.20-fpm | 8.2.20, स्रोत से निर्मित | असुरक्षित |
unit:php8.3 (NGINX Unit) | 8.3.26 (CLI, CGI, एम्बेडेड libphp) | असुरक्षित |
dunglas/frankenphp:latest | 8.5.12 (CLI, CGI, एम्बेडेड libphp) | संस्करण द्वारा ठीक किया गया |
| FrankenPHP स्टैटिक बाइनरी (GitHub रिलीज़) | 8.5.12 | संस्करण द्वारा ठीक किया गया |
यह अभी तक कंटेनरों के बाहर किसी उत्पादन होस्ट पर नहीं चलाया गया है - विशेष रूप से SELinux enforcing (RHEL परिवार) के साथ नहीं; वहाँ एजेंट सामान्यतः unconfined चलता है।
किसी रिलीज़ से .mkp डाउनलोड करें (या इसे स्वयं बनाएँ, देखें
विकास)।
Setup > Maintenance > Extension packages > Upload package, या साइट के अंदर कमांड लाइन पर:
mkp add php2shell-<version>.mkp
mkp enable php2shell <version>
जिन होस्ट्स को आप जाँचना चाहते हैं, उन पर एजेंट प्लग-इन डिप्लॉय करें:
होस्ट्स पर सर्विस डिस्कवरी चलाएँ। प्रत्येक PHP बाइनरी और Apache PHP मॉड्यूल का अपना
अलग सर्विस बनता है, साथ ही प्रत्येक होस्ट के लिए एक PHP2Shell restart सर्विस बनती है।
वैकल्पिक: Setup > Services > Service monitoring rules > PHP2Shell (CVE-2026-109618 / CVE-2026-109619) और PHP2Shell restart में स्टेट्स समायोजित करें।
package/agents/plugins/php2shell को एजेंट की
प्लग-इन डायरेक्टरी के किसी cache-interval सबडायरेक्टरी में कॉपी करें और उसे executable बनाएँ:
install -m 755 php2shell /usr/lib/check_mk_agent/plugins/3600/php2shell
3600 निर्देशिका एजेंट को इसे हर घंटे पृष्ठभूमि में चलाने और बीच के समय में कैश किए गए परिणाम को प्रस्तुत करने के लिए बाध्य करती है। इसे सीधे plugins/ में न रखें: यह हर PHP बाइनरी को चलाता है और हर प्रक्रिया का मेमोरी मैप पढ़ता है, जो हर एजेंट क्वेरी के लिए बहुत अधिक है।
| सेवा | प्रति एक | स्थितियाँ (डिफ़ॉल्ट, कॉन्फ़िगर करने योग्य) |
|---|---|---|
PHP2Shell <path> | PHP बाइनरी या लाइब्रेरी, जैसे PHP2Shell /usr/sbin/php-fpm8.3 | OK स्थिर - CRIT कमजोर वेब SAPI - WARN सभी अंतरिम शमन के साथ कमजोर वेब SAPI - WARN कमजोर CLI - UNKNOWN संस्करण निर्धारित नहीं किया जा सकता |
PHP2Shell restart | PHP वाला होस्ट | OK - CRIT प्रक्रियाएँ अभी भी प्रतिस्थापित PHP बाइनरी या libphp चला रही हैं |