
مُحقِّق أداة اختبار مُعقَّمة دون اتصال لـ CVE-2026-81861 في SCADAPack Secure Lock
هذا المستودع هو إثبات مفهوم محدود بشكل متعمّد لـ 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 للمنتجات المتأثرة،
والتخفيفات، وإرشادات البائع.