
Debian 12/13 के लिए रीड-ओनली PHP2Shell पैकेज चेकर (CVE-2026-109618, CVE-2026-109619)।
Debian 12 (bookworm) और Debian 13 (trixie) के लिए एक read-only PHP पैकेज ऑडिट। यह पैकेज संस्करणों को CVE-2026-109618 और CVE-2026-109619 के लिए प्रकाशित फ़िक्स के विरुद्ध जाँचता है, जिन्हें आमतौर पर PHP2Shell कहा जाता है।
यह डिफ़ॉल्ट php -v कमांड पर निर्भर रहने के बजाय, इंस्टॉल की गई शाखाओं में PHP कोर पैकेजों की सूची बनाता है, जिनमें PHP-FPM, CLI, CGI और Apache mod_php शामिल हैं।
यह APT उम्मीदवारों, पैकेज होल्ड्स और मूल्यांकित पैकेजों के बाहर के सामान्य रनटाइम पथों की भी रिपोर्ट करता है।
यह एक पैकेज-संस्करण चेकर है, कोई भेद्यता एक्सप्लॉइट या यह प्रमाणपत्र नहीं कि कोई सर्वर सुरक्षित है। यह पैकेज इंस्टॉल नहीं करता, कॉन्फ़िगरेशन नहीं बदलता, APT इंडेक्स रीफ़्रेश नहीं करता, सेवाएँ रीस्टार्ट नहीं करता, PHP बाइनरी निष्पादित नहीं करता और नेटवर्क अनुरोध नहीं करता।
आवश्यकताएँ: Debian 12 या 13, Python 3.9+ और मानक dpkg/APT टूल्स।
कोई तृतीय-पक्ष Python निर्भरताएँ नहीं हैं। चेकर के लिए रूट आवश्यक नहीं है;
अगम्य स्कैन पथ अपूर्ण के रूप में रिपोर्ट किए जाते हैं।
git clone https://github.com/toxy4ny/php2shell-checker.git
cd php2shell-checker
# Optional, separate operation: refresh available package versions.
sudo apt update
python3 check-php2shell.py
GitHub मिरर: https://github.com/toxy4ny/php2shell-checker
आप केवल check-php2shell.py भी डाउनलोड कर सकते हैं, उसका निरीक्षण कर सकते हैं और उसे स्थानीय रूप से चला सकते हैं।
कस्टम इंस्टॉलेशन निर्देशिका शामिल करने के लिए:
python3 check-php2shell.py --scan-root /www/server/php --scan-root /srv/php
डिफ़ॉल्ट स्कैन /usr/bin, /usr/sbin, /usr/lib/cgi-bin,
/usr/lib/apache2/modules, /usr/local और /opt को कवर करता है। यह सामान्य PHP,
PHP-FPM, CGI, LiteSpeed PHP, FrankenPHP और Apache मॉड्यूल फ़ाइलनामों को पहचानता है। डायरेक्टरी
सिमलिंक्स को ट्रैवर्स नहीं किया जाता; उनके लक्ष्य डायरेक्टरी को स्पष्ट रूप से पास करें।
| स्थिति | अर्थ |
|---|---|
FIXED | पैकेज मेटाडेटा किसी ज्ञात पैच किए गए रिलीज़ थ्रेशोल्ड को पूरा करता है। |
UPDATE | एक पहचानने योग्य Debian पैकेज संस्करण अपने फ़िक्स्ड थ्रेशोल्ड से नीचे है। |
UNKNOWN | उपचार को स्वचालित रूप से सत्यापित नहीं किया जा सकता। पैकेज विक्रेता से परामर्श करें। |
पुराने तृतीय-पक्ष पैकेज स्वचालित रूप से कमज़ोर घोषित नहीं किए जाते: उनके
विक्रेता ने फ़िक्स को बैकपोर्ट किया हो सकता है। वे तब तक UNKNOWN रहते हैं जब तक कि कोई समर्थित फ़िक्स्ड
रिलीज़ इंस्टॉल न हो जाए या बैकपोर्ट को स्वतंत्र रूप से सत्यापित न किया जाए। अकेले एक epoch या बड़ा
पैकेजिंग रिवीज़न कभी भी अपस्ट्रीम फ़िक्स नहीं माना जाता। संस्करण नामकरण रिपॉज़िटरी की प्रामाणिकता या पैकेज की अखंडता का प्रमाण नहीं है।
उदाहरण आउटपुट (दृष्टांत के लिए, आपके होस्ट का स्कैन नहीं):
[UPDATE] php8.2-fpm installed=8.2.34-1~deb12u1
Debian package version below 8.2.35-1~deb12u1; source=php8.2 (8.2.34-1~deb12u1)
Candidate: 8.2.35-1~deb12u1 [FIXED] — Debian package version >= 8.2.35-1~deb12u1
यदि APT कोई नया फ़िक्स्ड कैंडिडेट प्रदान करता है, तो रिपोर्ट योग्य पैकेजों के लिए एक सिमुलेशन कमांड और एक अपडेट कमांड प्रिंट करती है। इनमें से कोई भी निष्पादित नहीं होता। होल्ड किए गए पैकेजों की पहचान की जाती है और उन्हें सुझाए गए कमांड से बाहर रखा जाता है। निर्भरताएँ और होल्ड अभी भी पूरे ट्रांज़ैक्शन को प्रभावित कर सकते हैं: आगे बढ़ने से पहले सिमुलेशन की समीक्षा करें।
एग्ज़िट कोड:
| कोड | अर्थ |
|---|---|
0 | खोजे गए सभी PHP कोर पैकेज ज्ञात फ़िक्स्ड थ्रेशोल्ड को पूरा करते हैं, और स्कैन किए गए दायरे में कोई अतिरिक्त अज्ञात निष्कर्ष नहीं है। |
1 | कम से कम एक पैकेज को अपडेट की आवश्यकता है, और कोई अज्ञात निष्कर्ष नहीं है। |
2 | अज्ञात निष्कर्ष, अपूर्ण ऑडिट, कोई PHP कोर पैकेज नहीं मिला, असमर्थित सिस्टम या निष्पादन त्रुटि। 1 पर प्राथमिकता लेता है। |
नियम 2026-10-22 को सत्यापित किए गए। वे स्क्रिप्ट में एम्बेडेड हैं और स्वचालित रूप से रीफ़्रेश नहीं होते। भविष्य की/अमैप की गई ब्रांच को UNKNOWN के रूप में रिपोर्ट किया जाता है।
| पैकेज या ब्रांच | फ़िक्स्ड थ्रेशोल्ड |
|---|---|
Debian 12 php8.2 स्रोत पैकेज | 8.2.35-1~deb12u1 |
Debian 13 php8.4 स्रोत पैकेज | 8.4.27-1~deb13u1 |
| अपस्ट्रीम PHP 8.2 | 8.2.35 |
| अपस्ट्रीम PHP 8.3 | 8.3.36 |
| अपस्ट्रीम PHP 8.4 | 8.4.27 |
| अपस्ट्रीम PHP 8.5 | 8.5.12 |
प्राथमिक संदर्भ:
apt update त्रुटि को हल करें।FIXED परिणाम यह स्थापित नहीं करता कि किसी होस्ट से कभी समझौता नहीं हुआ है।python3 -m unittest discover -s tests -v
Fixture परीक्षण Debian के बिना चलते हैं। Debian पर, अतिरिक्त परीक्षण वास्तविक
dpkg --compare-versions का उपयोग करके रिलीज़ सीमाओं, प्रीरिलीज़, epochs और
पैकेजिंग संशोधनों को कवर करते हैं। CI दोनों Debian रिलीज़ पर, GitHub और GitLab पर
परीक्षण और एक इंस्टॉल किए गए-PHP स्मोक चेक चलाता है।
संस्करण नियमों में बदलाव के लिए, एक प्राथमिक विक्रेता सलाह और एक रिग्रेशन परीक्षण शामिल करें। कृपया बग रिपोर्ट से होस्टनाम और संवेदनशील पथों को हटाएँ। क्रेडेंशियल या उत्पादन कॉन्फ़िगरेशन डंप शामिल न करें।
MIT. कॉपीराइट (c) 2026 PHP2Shell Checker योगदानकर्ता।