
SCADAPack Secure Lock में CVE-2026-81861 के लिए सैनिटाइज़्ड ऑफ़लाइन फ़िक्स्चर वेरिफ़ायर
यह रिपॉज़िटरी CVE-2026-81861 के लिए जानबूझकर सीमित एक प्रूफ़ ऑफ़ कॉन्सेप्ट है। यह सत्यापित करती है कि विक्रेता के शिप किए गए Windows DTM के साथ उत्पादित दो नियंत्रित फिक्स्चर को सामान्य कुंजी सामग्री का उपयोग करके प्रमाणित और डिकोड किया जा सकता है।
यह एक परिचालन एक्सप्लॉइट नहीं है। इसमें कोई नेटवर्क क्लाइंट, डिवाइस टारगेट, DNP3 ट्रांसमीटर, अनलॉक ऑपरेशन, मैसेज-फ़ॉर्जिंग कमांड, कैप्चर स्कैनर, या आर्बिट्ररी-फ़ाइल डिक्रिप्टर शामिल नहीं है। यह किसी RTU से संपर्क या उसमें परिवर्तन नहीं कर सकता।
सत्यापनकर्ता केवल इन्हीं सटीक बंडल किए गए फ़ाइलों को स्वीकार करता है, जो SHA-256 द्वारा पिन किए गए हैं:
samples/vendor_generated/vendor_message_s1.bin: विक्रेता DTM के स्वयं के मैसेज इनिशियलाइज़र द्वारा उत्पादित पूर्ण संदेश।samples/vendor_generated/harnessB_vendor_ciphertext_and_mac.bin: शोधकर्ता द्वारा असेंबल किए गए प्रोडक्ट-फ़ॉर्मेट बाइट्स पर विक्रेता क्रिप्टोग्राफ़िक रूटीन द्वारा उत्पादित सिफरटेक्स्ट और MAC।इनमें से कोई भी फ़ाइल किसी भौतिक RTU से नहीं आई है। ये शिप किए गए DTM कार्यान्वयन के साथ अंतर-संचालनीयता प्रदर्शित करती हैं, न कि लाइव-डिवाइस स्वीकृति या नेटवर्क शोषणीयता।
प्रोडक्शन कॉन्स्टेंट और कुंजियाँ शामिल नहीं हैं। एक शोधकर्ता जिसके पास प्रभावित सॉफ़्टवेयर तक पहले से अधिकृत पहुँच है, वह एक स्थानीय JSON फ़ाइल प्रदान कर सकता है:
{
"hmac_sha256_key": "<64 hex characters>",
"aes128_kek": "<32 hex characters>"
}
उस फ़ाइल को कमिट न करें। सीमित सत्यापन इस प्रकार चलाएँ:
python3 securelock_poc.py verify-fixtures --key-file /path/to/local-keys.json
यह कमांड किसी भी ऐसी फ़ाइल को अस्वीकार करता है जो उसकी फिक्स्चर अनुमति-सूची में नामित नहीं है और पार्स करने से पहले SHA-256 डाइजेस्ट की जाँच करता है। यह कभी भी प्रदान की गई कुंजियाँ प्रिंट नहीं करता।
python3 tests/test_vectors.py
डिफ़ॉल्ट सूट सार्वजनिक AES/RFC 3394 टेस्ट वेक्टर और गैर-प्रोडक्शन टेस्ट कुंजियों का उपयोग करता है। यदि SECURELOCK_FIXTURE_KEY_FILE किसी वैध स्थानीय कुंजी फ़ाइल का नाम देता है, तो यह दोनों विक्रेता-उत्पादित फिक्स्चर को भी सत्यापित करता है; अन्यथा वे परीक्षण छोड़ दिए जाते हैं।
प्रभावित उत्पादों, शमन उपायों, और विक्रेता मार्गदर्शन के लिए Schneider Electric एडवाइज़री SEVD-2026-251-03 देखें।