
إثبات مفهوم يوضح ثغرة استخدام بعد التحرير (use-after-free) في ملف cldflt.sys (CVE-2025-62221) والتي تتيح تصعيد الامتيازات المحلية إلى صلاحيات SYSTEM عبر تهيئة تجمع النواة (kernel pool grooming) وسرقة الرموز (token stealing).
عرض توضيحي إثبات المفهوم: عدم تناسق الذاكرة الزمني في cldflt.sys (CVE-2025-62221) CVE-2025-62221:
يقدم هذا المستودع تحليلاً تقنياً شاملاً وعرضاً عملياً (PoC) لمتجه تصعيد امتياز رأسي. تم تحديد الثغرة كبدائية استخدام بعد التحرير (UAF) ضمن برنامج تشغيل مرشح ملفات السحابة الصغير في Windows (cldflt.sys). توضح هذه الوثائق الآليات التي يمكن من خلالها لكيان وضع المستخدم غير المميز الانتقال إلى سياق أمان Ring 0 (NT AUTHORITY\SYSTEM).
تنبع ثغرة CVE-2025-62221 من فشل حاسم في الإدارة الزمنية لدورات حياة كائنات الذاكرة داخل النظام الفرعي التنفيذي لوضع النواة في Windows. على وجه التحديد، يفشل برنامج التشغيل cldflt.sys في تنفيذ العد المرجعي الذري أثناء معالجة طلبات الإدخال/الإخراج غير المتزامنة لنقاط إعادة التوجيه المدعومة بالسحابة. من خلال تنسيق حالة سباق غير حتمية عبر إجراءات توزيع التحكم في الإدخال/الإخراج (IOCTL) غير الصالحة، يمكن للمهاجم المحلي استحداث سيناريو مؤشر معلق. تسمح هذه الحالة بـ تنظيف تجمع النواة، مما يسهل بدائيات الكتابة العشوائية والاستبدال اللاحق لرموز الأمان.
| المعلمة | المواصفة |
|---|---|
| فئة الثغرة | Temporal Memory Corruption / Use-After-Free (CWE-416) |
| النظام الفرعي المستهدف | Windows Cloud Files Mini Filter (cldflt.sys) |
| بدائية الاستغلال | Kernel Pool Grooming and Token Exfiltration |
| حد الامتياز | User-to-Kernel / Standard User to SYSTEM |
| متجه CVSS v3.1 | AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H (Base Score: 7.8) |
| السياق الزمني | Identified Q4 2025; Remediation Patch Released January 2026 |
يبدأ الإجراء بتدقيق بيئة نواة الهدف للتحقق من وجود وحدة cldflt.sys. كما يحسب الإزاحات اللازمة لهيكل EPROCESS وحقول رمز الأمان المرتبطة به بالنسبة لإصدار Windows المحدد قيد التشغيل.
يقوم الاستغلال بإنشاء سلسلة من هياكل الدليل المتناثرة والمدعومة بالسحابة. تعمل هذه الهياكل كسطح التفاعل الأساسي لبرنامج تشغيل المرشح، مما يمكن المهاجم من التأثير على أنماط التخصيص ضمن تجمع النواة غير المقسم.
من خلال إرسال طلبات إدخال/إخراج غير صالحة ومتزامنة، يستحث الاستغلال حالة غير متزامنة حيث يتم تحرير كائن ذاكرة بينما يبقى مرجع نشط داخل مكدس تنفيذ برنامج التشغيل.
يتم استخدام تقنية رش الكومة لشغل فتحة الذاكرة التي تم إخلاؤها مؤخرًا. يقوم الاستغلال بملء التجمع بهياكل بيانات خاضعة للتحكم، مما يحول حالة "استخدام بعد التحرير" إلى "خلط الأنواع" أو "الكتابة فوق المؤشر المتحكم به".
عند نجاح اختطاف تنفيذ وضع النواة، ينفذ الحمولة عملية سرقة الرمز. يقوم بتحديد عملية SYSTEM (PID 4) ونسخ رمز الوصول الأساسي الخاص بها إلى واصف الأمان لعملية الاستغلال.
[!CAUTION] تحذير تجريبي: هذا البحث مخصص للتحقق الأكاديمي والتدقيق الأمني الرسمي لوضع النواة. قد يؤدي التنفيذ غير السليم إلى فحص خطأ النواة (BSOD) أو تلف نظام الملفات. يجب إجراء جميع الاختبارات ضمن بيئة مراقب افتراضي معزولة تمامًا.
تهيئة طوبولوجيا الشبكة:
sudo python3 topo.py
افتح محطات طرفية لعقدتي السحابة والمستخدم:
xterm cloud user
في محطة السحابة، انتقل إلى دليل المشروع وابدأ الخادم:
cd ~/Downloads/sps_test
python3 server.py
في محطة المستخدم، قم بتشغيل سكريبت الاستغلال الآلي (اختياري):
python3 run_all.py
بدلاً من ذلك، قم بتنفيذ كل مرحلة يدوياً للمراقبة التفصيلية.
نفذ الإجراءات التالية بالتسلسل داخل محطة المستخدم لمراقبة انتقالات حالة الذاكرة:
Step 1 — Allocated FileObject | REF=ref-12345
python3 1.py
Step 2 — Object freed
python3 2.py
Step 3 — DANGLING REF
python3 3.py
Step 4 — Heap reuse
python3 4.py
Step 5 — Handler overwritten
python3 5.py
Step 6 — MALICIOUS HANDLER EXECUTED
python3 6.py
ملاحظة: عند نجاح التحول في المرحلة 6، سيقوم النظام بتنفيذ تسلسل الأوامر الضارة المحدد في malware.json. ستلاحظ رسائل التنفيذ على محطة السحابة وستتلقى الأمر الضار على محطة المستخدم.
الوثائق والكود الموجودان في هذا المستودع مُقدمان حصريًا لتعزيز أبحاث الأمن السيبراني. لا يتحمل المؤلف أي مسؤولية عن الأضرار الناتجة عن استخدام هذه المعلومات. الهدف من هذا البحث هو تسهيل الفهم الشامل لثغرات برامج تشغيل المرشحات الصغيرة وتقييم فعالية استراتيجيات التخفيف الحالية.
المرجع: مركز استجابة أمان Microsoft (MSRC) - CVE-2025-62221
تم إنجازه لمهمة SPS UPB 2026
| الملف | الاستخدام |
|---|
| topo.py | سكريبت تنسيق Mininet يحدد حدود الشبكة |
| server.py | خدمة محاكاة لبرنامج تشغيل cldflt.sys تتضمن منطق UAF |
| run_all.py | سكريبت استغلال آلي للاختبار الفعال |
| user.py | سكريبت استغلال آلي بديل |
| 1.py through 6.py | مراحل استغلال منفصلة مقدمة للتحليل الفني التفصيلي |
| malware.json | حمولة ضارة تستخدم لتوضيح بدائية تنفيذ الكود: حمولة ضارة تستخدم لتوضيح بدائية تنفيذ الكود |