
هندسة عكسية ثابتة لصورة BIOS الخاصة بـ GIGABYTE H510M K V2 (`H510MKV2.F3`): تحليل استخراج كامل لصور البرامج الثابتة UEFI لموزع ذاكرة SMM Core الخاص بمواصفات PI، وبحث مستهدف عن ثغرات تلف الذاكرة الأربع في SMM التي كشفت عنها GIGABYTE/Binarly في 2025 (CVE-2025-7026 CVE-2025-7027 CVE-2025-7028 CVE-2025-7029).
هندسة عكسية ثابتة لصورة BIOS الخاصة بـ GIGABYTE H510M K V2 (H510MKV2.F3): تحليل استخراج كامل لمجلدات البرنامج الثابت UEFI لموزّع ذاكرة SMM Core وفق مواصفات PI، وبحث موجّه عن ثغرات تلف الذاكرة الأربع في SMM التي كشفت عنها GIGABYTE/Binarly في 2025 (CVE-2025-7026 CVE-2025-7027 CVE-2025-7028 CVE-2025-7029).
الحالة: تم تأكيد وجود 1 من 4 CVEs (CVE-2025-7027). أما الثلاثة الأخرى فقد تم البحث عنها بنشاط عبر كامل البرنامج الثابت المتاح ولم يُعثر عليها — راجع CVEs غير مؤكدة لفهم المعنى الدقيق لذلك وما لا يعنيه.
هذا بحث من نوع n-day وليس إفصاحًا عن ثغرة 0-day. جميع CVEs الأربعة المشار إليها هنا كانت قد أُفصح عنها علنًا وعولجت بالفعل من قِبل GIGABYTE (بدأ شحن البرنامج الثابت المُعالَج في 2025-06-12) مع تخصيص CVEs لها وتوثيقها من قِبل Binarly وCERT/CC قبل بدء هذا البحث. لا يوجد في هذا المستودع أي اكتشاف ثغرات جديد — إنه تحقق مستقل عبر التحليل الثابت من وجود فئات الأخطاء التي سبق الإفصاح عنها ومعالجتها في إصدار BIOS واحد محدد قابل للتحميل العام.
| اللوحة الأم | GIGABYTE H510M K V2 (H510MKV2) |
| ملف BIOS | H510MKV2.F3 |
| حجم الملف | 16777216 بايت (16 MB) |
| تاريخ الملف | 2023-12-20 |
| MD5 | a9bca8aeb55061824af1c3eedfb5c846 |
| SHA-256 | 934a935e5faba8d2cea4e1d51e9edb6aed86b32f412d0da5bae602bd9fd8f9f3 |
| مجموعة الشرائح | Intel H510 |
| توفر تصحيح البائع منذ | 2025-06-12 (هذا الإصدار يسبقه بنحو 18 شهرًا) |
uefi-firmware-parser) — تم تعداد 356 ملف FFS عبر مجلد SMM/DXE، 302 منها بملف PE32/TE قابل للاستخراج.PiSmmCore (نواة SMM وفق مواصفات PI) وقمنا بهندسته عكسيًا بالكامل، مؤكدين ومسمّين موزّع مجمع/صفحات SMM الحقيقي (داخليّات SmmAllocatePool/SmmFreePool/SmmAllocatePages/SmmFreePages) عبر تواقيع الحماية المضمّنة "sphd"/"tail" — وهي مطابقة تمامًا لتطبيق EDK2 مفتوح المصدر MdeModulePkg/Core/PiSmmCore/Pool.c.GenericComponentSmmEntry: متغير NVRAM (SetupXtuBufferAddress) يُجلب عبر GetVariable() دون أي تحقق ويُستخدم مباشرة كمؤشر كتابة يمكن الوصول إليه عبر SW SMI 0xB2 — وهذا يطابق وصف Binarly المنشور للسبب الجذري نقطة بنقطة.uefi_firmware (uefi-firmware-parser -e) فكّك صورة BIOS بشكل متكرر: مناطق Intel Flash Descriptor ← مجلدات البرنامج الثابت ← ملفات FFS ← أقسام، مع فك ضغط كل مجلد برنامج ثابت مضغوط LZMA/Tiano عثر عليه..ui (اسم عرض السائق) وقسم صورة .pe/.te تم نسخه كملف ثنائي PE32+/TE مستقل باسم <DriverName>__<GUID8>.<pe32|te>.ida-pro-mcp / idalib) مع مفكك Hex-Rays، بقاعدة بيانات واحدة لكل وحدة. تحليل تلقائي + Hex-Rays فقط — لم تتوفر تواقيع FLIRT أو مكتبات أنواع EDK2 في هذه البيئة (مذكور كقيد أدناه).تحتوي صورة BIOS على أربع مناطق Intel Flash Descriptor؛ فقط region-bios يحتوي على كود GIGABYTE/OEM (region-me.fd region-gbe.fd region-pdr.fd هي برنامج ثابت لـ Intel Management Engine / GbE / الواصف — مكونات منفصلة خارج النطاق ولم تُستكشف).
داخل region-bios تم العثور على أربعة مجلدات برنامج ثابت واستخراجها:
| المجلد (GUID حاوية FFS) | المحتويات | الملفات المستخرجة |
|---|---|---|
file-9e21fd93-... → volume-ee4e5898-... | مجلد السائق الرئيسي DXE/SMM — جميع سائقيات Smm* وسائقيات المنصة DXE | 302 |
file-f641ac56-... → volume-ee4e5898-... | نسخة مكررة/مرحلة PEI مما سبق (مجموعة فرعية أصغر: PiSmmCommunicationPei IT8728FSmmFeaturesPei إلخ.) | 22 |
file-3417f275-... → volume-3417f275-... | مجلد الإقلاع المبكر PEI/DXE (DxeIpl FspS3Notify ...) | 21 (2 مع صور) |
file-05ca020b-... → volume-05ca020b-... | مجلد مساعد صغير بدون صور قابلة للتنفيذ | 2 |
تم استخراج الأربعة جميعًا وفحص علاماتها (راجع CVEs غير مؤكدة).
SMM/
├── README.md this file
├── CVE_ANALYSIS.md full technical deep-dive (code-level detail confidence notes)
├── flash.fd copy of the extracted 16MB BIOS image
├── regions/ raw recursive extraction (every FV/FFS/section as produced by uefi_firmware)
├── smm_modules/ PiSmmCore isolated + fully analyzed (.pe32 + Hex-Rays .i64 renames applied)
├── smm_modules_all/ all 51 `Smm*`-named drivers as standalone PE32/TE + manifest.txt
│ (4 extra ones PiSmmCpuDxeSmm SmmAccess SmmControl SmmLockBox
│ FlashSmiSmm FlashDriverSmm have auto-analyzed .i64 databases)
├── all_modules/ every extractable module from the main DXE/SMM volume (302 not just Smm*-named)
├── extra_volumes_modules/ modules from the two smaller auxiliary firmware volumes
└── f641_pei_modules/ modules from the duplicate PEI-phase volume copy