CVE-2026-21509 — تجاوز ميزة الأمان في Microsoft Office
- CVE-2026-21509 هي ثغرة تجاوز لميزة الأمان في Microsoft Office
- CVSS 7.8، يتم استغلالها بنشاط من قبل APT28 (قراصنة روس) ضد أوكرانيا
- الاعتماد على مدخلات غير موثوقة في القرارات الأمنية (CWE-807) — "كسر الـ kill bit"
- تتيح تجاوز Protected View وإجراءات الحماية الخاصة بـ OLE عبر مستندات خبيثة
- تؤثر على Office 2016, 2019, 2021, 2024, Microsoft 365 Apps
- تم إصدار تصحيح طارئ خارج النطاق في يناير 2026
نظرة عامة
CVE-2026-21509 هي ثغرة تجاوز لميزة الأمان في Microsoft Office
تسمح للمهاجم بتجاوز إجراءات الحماية الخاصة بـ Protected View و OLE
(ربط الكائنات وتضمينها). يعود السبب الجذري إلى طريقة تحقق Office من
الـ kill bit — وهي آلية سجل (Registry) مصممة لحظر معرّفات CLSID
الخطيرة. بتوفير كائن OLE مُعدّ بعناية يحمل CLSID معدّلاً أو بالتلاعب
بسياق التنشيط، يمكن للمهاجم خداع Office ليثق بعنصر تحكم كان يجب حظره.
التفاصيل التقنية
السبب الجذري: CWE-807 — الاعتماد على مدخلات غير موثوقة في قرار أمني.
يستخدم فحص الـ kill-bit لكائنات COM/OLE بيانات يمكن للمهاجم التأثير عليها
عبر تجاوزات على مستوى المستند. على وجه التحديد، يمكن لتطبيق IDataObject أو
IOleObject في بعض مستندات Office إعادة توجيه البحث عن الـ kill-bit إلى مسار
سجل يتحكم به المهاجم، أو توفير GUID يتجاوز قائمة الحظر بالكامل.
ناقل الهجوم:
- يقوم ملف RTF أو DOCX مُعدّ بعناية بتضمين كائن OLE خبيث (مثل عنصر
تحكم COM لتنفيذ أوامر الصدفة).
- عند فتح المستند، يستعلم Office عن سجل الـ kill-bit قبل تنشيط كائن
OLE.
- يوفّر المستند CLSID مزيفاً أو يعبث بالاستعلام عبر إدخال فعل/مسار بيانات
OLE يشير إلى موقع سجل غير قياسي.
- لا يتم العثور على الـ kill bit في المسار المتوقع، لذا يشغّل Office
عنصر التحكم دون أي قيود.
- ينفذ عنصر التحكم كوداً مقدماً من المهاجم (مثل MSHTA أو PowerShell أو
محرك سكربتات).
الإصدارات المتأثرة
| المنتج | الإصدار / البنية |
|---|
| Office 2016 | جميع الإصدارات الأقدم من KB5002711 |
| Office 2019 | جميع الإصدارات الأقدم من KB5002712 |
| Office 2021 | جميع الإصدارات الأقدم من KB5002713 |
| Office 2024 | جميع الإصدارات الأقدم من KB5002714 |
| Microsoft 365 Apps | الإصدار الأقدم من 2501 (يناير 2026) |
خطوات إعادة الإنتاج
- ثبّت إصداراً متأثراً من Microsoft Office (انظر الجدول أعلاه) على
بيئة اختبار تعمل بنظام Windows 10/11 x64.
- أنشئ مستنداً خبيثاً باستخدام السكربت المرفق
exploit.py:
python exploit.py --output malicious.doc --payload "calc.exe"
- افتح الملف المُنشأ في Office. يجب تجاوز Protected View وسيتم تنفيذ الحمولة.
- بعد تطبيق التصحيح، يجب حظر الملف نفسه — وهذا يؤكد نجاح الإصلاح.
إثبات المفهوم
يقوم سكربت exploit.py في هذا المستودع بإنشاء ملف RTF/DOC مُعدّ بعناية يقوم بـ:
- تضمين كائن OLE تم ضبط CLSID الخاص به على
{0002DF01-0000-0000-C000-000000000046} (DHTML Edit Control — عنصر تحكم يُستخدم على نطاق واسع كسلاح).
- التلاعب بمجموعتي
\objdata و \object في ملف RTF لتجاوز البحث عن الـ kill-bit
أثناء التنشيط.
- تضمين حمولة سكربت اختيارية (PowerShell أو MSHTA) يتم تشغيلها
عند التنشيط.
⚠ تحذير: هذا الإثبات (PoC) مقدّم حصرياً لاختبارات الأمان المصرّح بها.
لا تنشره ضد أنظمة لا تملكها أو لا تملك إذناً صريحاً لاختبارها.
التخفيف
- ثبّت التحديث خارج النطاق الصادر في يناير 2026 — هذا هو الإصلاح الكامل الوحيد.
- راجع وطبّق قائمة الـ kill-bit الموسّعة الواردة في KB5002711.
- فعّل قواعد تقليل سطح الهجوم (ASR) الخاصة بإنشاء العمليات الفرعية
من Office.
- فكّر في استخدام Microsoft Defender for Office 365 لحظر مستندات
الاستغلال المعروفة.
- قيّد تنشيط كائنات OLE عبر نهج المجموعة (Group Policy):
`Computer Configuration > Administrative Templates > Microsoft Office
Security Settings > Disable OLE Activation`.
المراجع