إرسال السجلات والتنبيهات وبيانات القياس عن بُعد عبر صمام ثنائي البيانات

اكتشف كيف
نستخدمُ الذكاء الاصطناعي في ترجمات الموقع، ومع أننا نسعى جاهدين لبلوغ الدقة قد لا تكون هذه الترجمات دقيقةً بنسبة 100% دائمًا. تفهّمك لهذا الأمر هو موضع تقدير لدينا.

التحليل الفني لثغرة CVE-2025-8088: كتابة ملفات عشوائية في WinRAR عبر ADS

بقلم OPSWAT
آخر تحديث:
شارك هذا المنشور

CVE-2025-8088 هي ثغرة أمنية تتعلق بـ"اجتياز المسار" في برنامج WinRAR وتؤثر على الإصدارات السابقة للإصدار 7.13. ويتيح استغلال هذه الثغرة لملف مضغوط مصمم خصيصًا تجاوز عملية التحقق من صحة اسم الملف والمسار أثناء استخراج الملفات المضغوطة، مما يؤدي إلى كتابة محتوى يتحكم فيه المهاجم في مواقع محددة على وحدة تخزين NTFS. وفي ظل ظروف معينة، يمكن استغلال هذه القدرة على الكتابة لتنفيذ تعليمات برمجية عن بُعد.

أجرى زملاء برنامج زمالة OPSWAT التابع لـ OPSWAT تحليلاً تقنياً للثغرة الأمنية CVE-2025-8088. وتُبيّن نتائج هذا التحليل لآليات RAR5 و NTFS (ADS) مسار عملية الاستخراج وطريقة معالجة ADS التي تؤدي إلى عمليات كتابة غير آمنة، كما تلخص إرشادات عملية للتخفيف من المخاطر ومعالجتها موجهة لممارسي الأمن السيبراني والمؤسسات.

مقدمة عن CVE-2025-8088

يُعد WinRAR أحد أكثر برامج الأرشفة استخدامًا على نظام ويندوز. وهو يدعم الحفاظ على البيانات الوصفية الخاصة بنظام الملفات NTFS واستعادتها، مثل ADS (تدفقات البيانات البديلة). توجد الثغرة الأمنية CVE-2025-8088 في آلية معالجة ADS في إصدارات محددة من WinRAR. وفي الإصدارات المعرضة للخطر، يمكن لأرشيف ضار أن يؤثر على معرف التدفق المستخدم أثناء الاستخراج، حيث يؤدي عدم كفاية عمليات توحيد المسار والتحقق من صحته في سير عمل إنشاء ADS إلى تمكين اختراق الدليل.

يُصنف CVE-2025-8088 على أنه مشكلة ذات خطورة عالية، حيث تبلغ درجته الأساسية وفقًا لنظام CVSS v4.0 8.4 (عالية)، مما يعكس احتمال حدوث تأثير أمني ملموس في حالة قيام المستخدم باستخراج ملف مضغوط مصمم خصيصًا باستخدام إصدار معرض للخطر من برنامج WinRAR.

الخلفية التقنية

تدفقات البيانات البديلة في نظام الملفات NTFS

يُعد نظام الملفات NTFS (نظام الملفات ذو التكنولوجيا الجديدة) نظام الملفات الافتراضي للإصدارات الحديثة من نظام التشغيل Windows. وبالمقارنة مع أنظمة الملفات القائمة على نظام FAT، يدعم نظام NTFS إمكانيات متقدمة تشمل قوائم التحكم في الوصول (ACLs)، وتشفير EFS، والضغط، والروابط الثابتة، ونقاط إعادة التحليل (المفاصل والروابط الرمزية)، وملفات ADS. 

ADS هي إحدى ميزات نظام الملفات NTFS التي تتيح لملف واحد أو دليل واحد احتواء عدة تدفقات بيانات مستقلة. يتم تخزين المحتوى الأساسي المرئي للمستخدم في التدفق الافتراضي غير المسمى، والذي يُشار إليه عادةً بـ ::$DATA، بينما يمكن الوصول إلى التدفقات الإضافية المسماة باستخدام الصيغة التالية: 

اسم_الملف.امتداد:اسم_الدفق 

لا تظهر هذه المسارات المسماة عادةً في طرق العرض القياسية في مستكشف Windows، ولكن نظام الملفات يدعمها بشكل كامل ويمكن حصرها باستخدام الأدوات المدعومة. على سبيل المثال، يمكنلأمر dir/R عرض المسارات البديلة. 

يدعم WinRAR استخراج ملفات الأرشيف التي تتضمن صيغة ADS. وعندما توجد مثل هذه الملفات داخل الأرشيف، يقوم WinRAR بكتابة المحتوى المقابل في "التيار البديل" للملف الهدف أثناء عملية الاستخراج. 

فهم بنية ملفات RAR5

يتم تخزين ملفات RAR5 على شكل سلسلة من الكتل. تبدأ كل كتلة برأس يحدد نوع الكتلة ومعلومات حجمها. وقد تتضمن، بشكل اختياري، منطقة بيانات وصفية إضافية ومنطقة بيانات تتكون من بايتات الحمولة، مثل المحتوى المضغوط.

الكتلة = الرأس + (مساحة إضافية اختيارية) + (مساحة بيانات اختيارية)

يستخدم RAR5 عدة أنواع من الكتل. وأنواع الكتل ذات الصلة في CVE هي:

  • رأس الملف (النوع 2): يصف إدخال ملف في الأرشيف (الاسم/المسار، والخصائص، والطوابع الزمنية، ومعلمات الضغط)، وتليها بيانات محتوى الملف
  • رأس الخدمة (النوع 3): رؤوس تكميلية اختيارية تُخزّن بيانات وصفية إضافية مرتبطة بالأرشيف أو بمدخل ملف معين، مثل ADS

يتم تمثيل ADS في نظام الملفات NTFS بواسطة رأس خدمة (النوع 3)، يُشار إليه بـ STM. وتحتوي منطقة بيانات رأس الخدمة على بايتات دفق ADS الخاصة بمدخل الملف الأساسي.

بصورة مبسطة:

الشكل 1. ADS في نظام الملفات NTFS

التحليل الفني (CVE-2025-8088)

سير عمل استخراج ملفات RAR5

يعالج WinRAR أرشيفات RAR5 على أنها سلسلة من الكتل. وأثناء الاستخراج، يقوم البرنامج بالتكرار عبر هذه الكتل، ويحلل رأس كل كتلة، ويتحقق من سلامة الرأس باستخدام CRC32 المضمن قبل المتابعة. وبعد معالجة إدخال الملف، يقوم WinRAR بفك ضغط محتوى الملف الأساسي وكتابته على القرص، ثم يحدد ما إذا كان يجب تطبيق بيانات وصفية إضافية متعلقة بنظام NTFS عبر سجلات الخدمة المرتبطة. عند وجود سجل ADS (تدفق البيانات البديل)، مثل إدخال خدمة STM، يدخل WinRAR مسار معالجة ADS، ويجمع مسار الملف الأساسي مع اسم التدفق لتشكيل هدف ADS، ويقوم بإنشاء التدفق. 

الشكل 2. مخطط تدفق الاستخراج العام الذي أعيد بناؤه أثناء التحليل، بما في ذلك فرع معالجة ADS.

في الثغرة الأمنية CVE-2025-8088، يكمن السبب الجذري في أن عملية إنشاء دفق ADS تستدعي API Windows API () باستخدام مسار مستمد من البيانات الوصفية التي يتحكم فيها الأرشيف، مما يجعل عملية إنشاء مسار ADS والتحقق من صحته غير كافية لمنع اختراق النظام.

تحديد مسار رمز ADS ("STM")

أجرى زملاؤنا من طلاب الدراسات العليا مجموعة من التحليلات الثابتة والديناميكية في بيئة مختبرية خاضعة للرقابة باستخدام برنامج WinRAR 7.12. وقد حددوا موقع المنطق المتعلق بـ ADS من خلال البحث عن علامة الخدمة "STM" في الملف الثنائي، ثم تأكدوا من مسار الكود الخاص بعملية الاستخراج أثناء وقت التشغيل.

الشكل 3. موقعان في الكود يشيران إلى السلسلة "STM"، ويستخدمان لتحديد المعالجة المتعلقة بـ ADS.

من خلال وضع نقطة توقف عند الإشارة "STM" التي ظهرت أثناء استخراج أرشيف يحتوي على بيانات ADS، تم الوصول إلى نقطة التوقف هذه بشكل متكرر، مما يؤكد أن مسار التنفيذ هذا يتم استدعاؤه خلال سير العمل العادي لعملية الاستخراج.

الشكل 4. التحليل الديناميكي: الوصول إلى نقطة التوقف في مسار معالجة ADS.

عند الوصول إلى نقطة التوقف، تم استخدام مكدس استدعاءات أداة التصحيح لإعادة بناء تسلسل الدالات التي تم استدعاؤها بعد إجراء "استخراج" في واجهة مستخدم WinRAR، مما أرسى نقطة ارتكاز واضحة لمعالجة الكتل اللاحقة ومسار تنفيذ ADS.

الشكل 5. تسلسل المكالمات المسترجع بعد تشغيل عملية الاستخراج في WinRAR، والذي استُخدم لتحديد مسار رمز ADS.

تحليل الرأس والتحقق من صحة CRC32

يقوم WinRAR بمعالجة كل كتلة RAR5 من خلال قراءة رأس الكتلة، والتحقق من صحة حقول السلامة، وإحالتها إلى معالج خاص بنوع الكتلة. تظهر نقطة الدخول الخاصة بمعالجة الكتلة ومنطق تحليل الرأس المرتبط بها في الأشكال من 6 إلى 10، حيث يقوم WinRAR بتعيين مؤشر الملف إلى إزاحة الكتلة الحالية، وقراءة بايتات الرأس الأولية — التي تتضمن نوع الرأس وحجمه — والتحقق من سلامة الرأس باستخدام CRC32 قبل المتابعة.

بعد إتمام عملية التحقق بنجاح، يقوم بتحليل حقول الرأس الإضافية، مثل العلامات وحجم الملف بعد فك الضغط وطريقة الضغط ومجموعات المراجعة الاختيارية. ثم يعالج نص الكتلة.

الشكل 6. نقطة الدخول لمعالجة الكتل أثناء الاستخراج.
الشكل 7. ضبط مؤشر ملف الأرشيف والبدء في تحليل الرأس.
الشكل 8. تحليل بايتات الرأس الأولية والتحقق من صحة CRC32 للرأس.

أثناء عملية الهندسة العكسية، لوحظ أن روتين CRC32 يتصرف بشكل متسق مع تطبيق CRC32 القياسي على غرار zlib. عمليًا، يُعد فحص CRC32 هذا بمثابة بوابة للتحقق من سلامة البيانات. فإذا تم تعديل حقول الرأس، يجب تحديث قيمة CRC32 المضمنة لضمان قبول WinRAR للرأس ومواصلة المعالجة.

الشكل 9. تفاصيل تنفيذ CRC32 (القائم على الجداول) المستخدمة أثناء فحص السلامة.

بعد التحقق من صحة رأس CRC32، يواصل المحلل استخراج المعلومات المتبقية في الرأس، مثل الحجم بعد فك الضغط وطريقة الضغط والسمات الأخرى.

الشكل 10. تحليل حقول الرأس الإضافية (الأحجام، والعلامات، وطريقة الضغط، ومجموعات المراجعة الاختيارية).

بعد الانتهاء من تحليل الرأس والتحقق من صحته، يقوم WinRAR بمعالجة نص الكتلة استنادًا إلى نوع الرأس الذي تم تحليله وإشاراته.

الشكل 11. حلقة تقوم بفك ضغط محتوى الملف وكتابته أثناء الاستخراج.

في الثغرة الأمنية CVE-2025-8088، يتم تطبيق التحقق من سلامة الرؤوس قبل أن يقوم WinRAR بإرسال البيانات إلى معالج كتلة الخدمة الذي يعالج سجلات ADS.

إنشاء إعلانات عبر كتلة الخدمة ("STM")

يتم الوصول إلى مسار معالجة ADS عندما يواجه WinRAR كتلة خدمة. تستخدم كتل الخدمة قيمة نوع الكتلة 3. وعند اكتشاف كتلة خدمة، يقوم WinRAR بإرسالها إلى معالج رؤوس الخدمة.

الشكل 12. كتل خدمة التوزيع (النوع 3)، التي يمكنها حمل سجلات ADS.

داخل معالج الخدمة، يتحقق WinRAR من اسم الخدمة. وعندما يتطابق اسم الخدمة مع "STM"، يُعامل السجل على أنه حمولة ADS، وينتقل التنفيذ إلى روتين إنشاء ADS.

الشكل 13. إرسال سجل الخدمة: عندما يتطابق اسم الخدمة مع "STM"، يبدأ WinRAR في إنشاء سجل ADS.

ثم يستخرج WinRAR اسم الدفق من سجل الخدمة ويجمعه مع مسار الملف الأساسي لإنشاء هدف ADS النهائي. في الإصدارات السابقة للإصدار 7.13، يُظهر التحليل أن اسم الدفق لا يخضع لعملية تنقية كافية، مما يسمح لتسلسلات الاختراق بالتأثير على تحديد مسار الهدف الناتج.

الشكل 14. استرداد اسم دفق ADS من سجل الخدمة.
الشكل 15. دمج المسار الأساسي واسم المجرى لتكوين مسار ADS.

بعد إنشاء الهدف، يقوم WinRAR بإنشاء الدفق عبر روتين مساعد يستدعي API CreateFileW الخاصة بنظام Windows، ثم يكتب بايتات ADS باستخدام WriteFile. وإذا كان المسار الذي تم تحديده يقع خارج دليل الاستخراج الذي اختاره المستخدم، فسيقوم WinRAR بإنشاء الدفق/الملف الوجهة وتعبئته بمحتوى يتحكم فيه المهاجم.

الشكل 16. موقع الاستدعاء الذي يبدأ عملية إنشاء ADS أثناء الاستخراج.
الشكل 17. أداة مساعدة لإنشاء ADS تقوم بتفويض المهمة إلى روتين إنشاء الملف.
الشكل 18. تم استدعاء API في API برمجة تطبيقات Windows ( API باستخدام المسار المُعد مسبقًا لإنشاء دفق ADS.
الشكل 19. كتابة محتوى ADS الذي يتحكم فيه المهاجم في الدفق الذي تم إنشاؤه حديثًا عبر WriteFile.

باختصار، يكشف مسار عمل استخراج ADS عن مشكلتين متعلقتين بالأمان. أولاً، لا يتم تنقية اسم دفق ADS بشكل كافٍ، مما يسمح لتسلسلات الاختراق بالتأثير على المسار النهائي للهدف. ثانياً، يقوم WinRAR بإنشاء دفق ADS عن طريق استدعاء الدالة CreateFileW() باستخدام مسار مشتق من البيانات الوصفية التي يتحكم فيها الأرشيف.

تسمح هذه الشروط مجتمعة لأرشيف مُعدّ خصيصًا بتوجيه هدف الدالة CreateFileW() خارج دليل الاستخراج المقصود وكتابة محتوى يتحكم فيه المهاجم إلى موقع يخضع لسيطرته. وإذا كان الوجهة عبارة عن دليل ذي صلة بالاستمرارية (مثل مجلد "Startup" الخاص بالمستخدم)، فإن عملية الكتابة هذه قد تتيح تنفيذ تعليمات برمجية لاحقة عند تسجيل الدخول التالي أو إعادة التشغيل، اعتمادًا على نوع الحمولة وتكوين النظام.

سيناريو الهجوم

يمكن استغلال الثغرة الأمنية CVE-2025-8088 عمليًا في الحالات التي يحث فيها المهاجم المستخدم على استخراج ملف RAR مزور باستخدام إصدار معرض للخطر من برنامج WinRAR. ومن أكثر طرق التوصيل شيوعًا الهندسة الاجتماعية، مثل التصيد الاحتيالي، الذي يدفع الضحية إلى الوثوق بملف ضار والبدء في استخراجه على نظام حيوي.

يحتوي الأرشيف على سجل خدمة ADS ("STM"). وقد تم تصميم اسم مسار البيانات الخاص به بحيث يتضمن دلالات العبور. أثناء عملية الاستخراج على نظام NTFS، يقوم برنامج WinRAR بمعالجة سجل ADS واستخلاص مسار البيانات الهدف من البيانات الوصفية التي يتحكم فيها الأرشيف. ونظرًا لأن عملية تكوين مسار ADS هذا لا تخضع لقيود كافية، فقد يقع الهدف الذي تم تحديده خارج نطاق دليل الاستخراج الذي اختاره المستخدم، بما في ذلك المواقع الحساسة مثل مجلد بدء التشغيل الخاص بالمستخدم.

الشكل 20. مسار الهجوم من البداية إلى النهاية: التسليم، والاستخراج عبر برنامج WinRAR المعرض للخطر، والاستمرار عبر مجلد "البدء".

إثبات صحة الفكرة

لإثبات الثغرة الأمنية CVE-2025-8088، أعد زملاؤنا من طلاب الدراسات العليا ملف أرشيف RAR مُعدّ خصيصًا يحتوي على سجل خدمة ADS ("STM") مع حقول يسيطر عليها المهاجم. وقد تم تصميم هذا الأرشيف بحيث يتضمن اسم تيار ADS تسلسلات اختراق. يؤثر هذا الهيكل على الموقع النهائي للهدف أثناء معالجة ADS، بما في ذلك المسار الذي يتم تمريره إلى CreateFileW() عند إنشاء الدفق. لضمان قبول WinRAR للبيانات الوصفية المعدلة والوصول إلى مسار معالجة ADS، يتم إعادة حساب قيم CRC32 للرأس ذات الصلة بحيث يجتاز الأرشيف التحقق من سلامة الرأس. 

الشكل 21. مثال على الحقول التي يتحكم فيها المهاجم داخل أرشيف مُعد خصيصًا لاستغلال مسار ADS.

عندما يدخل إصدار WinRAR معرض للخطر في روتين معالجة ADS أثناء استخراج الأرشيف المُعد مسبقًا، فإنه يقوم بكتابة المحتوى الذي يتحكم فيه المهاجم إلى الوجهة المحددة مسبقًا بدلاً من دليل الاستخراج المقصود الذي اختاره المستخدم. وبعد الاستخراج، يتحدد تنفيذ الحمولة وفقًا لتنسيقها ودلالات التنفيذ الخاصة بالوجهة المحددة مسبقًا. على سبيل المثال، المواقع التي قد تقوم بتنفيذ المحتوى عند تسجيل الدخول التالي أو إعادة التشغيل.

الشكل 22. عرض إثبات المفهوم: حمولة تمت كتابتها في Startup عبر مسار الاستخراج المعرض للخطر.

الاصلاح

يمكن التخفيف من مخاطر الثغرة الأمنية CVE-2025-8088 عن طريق تحديث برنامج WinRAR إلى إصدار تم إصلاحه (7.13 أو أحدث) على جميع الأجهزة الطرفية الخاضعة للإدارة. وإذا تعذر إجراء التحديث في الوقت المناسب، فيجب النظر في اتخاذ إجراءات تعويضية، مثل:

  • تقييد أو تعطيل الاحتفاظ بـ ADS في أدوات الأرشفة عندما لا يكون ذلك ضروريًا
  • تقييد استخراج الملفات المضغوطة غير الموثوق بها على البيئات المعزولة
  • تطبيق مبدأ "أقل امتياز ممكن" (تجنب تشغيل أدوات الاستخراج أدوات )
  • مراقبة المجلدات المهمة، مثل مجلدات التشغيل، بحثًا عن عمليات كتابة غير متوقعة ناشئة عن عمليات استخراج الملفات من الأرشيف

من أجل vulnerability detection المبكر vulnerability detection المتقدمة vulnerability detection بسرعة، يدعم MetaDefender عمليات الإصلاح العاجلة من خلال تحديد الأجهزة التي تعمل بإصدارات WinRAR المعرضة للخطر وإبراز التحديثات المطلوبة. وتقوم قدراته القوية في إدارة الثغرات الأمنية والتحديثات، التي تدعم أكثر من 1100 تطبيق، بالتعرف بشكل استباقي على الأجهزة الطرفية التي تعمل بأنظمة تشغيل أو تطبيقات خارجية غير محدثة أو لم يتم تصحيحها، وتقدم الحلول الموصى بها.

تتيح Vulnerability Management للمسؤولين الكشف السريع عن الثغرات الأمنية، وتحديد أولويات الإصلاح، ودفع عملية الترقية إلى إصدار تم تصحيحه، مما يقلل من مخاطر هجمات الكتابة على الملفات التي تستهدف الأرشيفات، مثل CVE-2025-8088، والتهديدات المماثلة التي تستهدف نقاط النهاية.

الشكل 23.Endpoint MetaDefender Endpoint إصدارات WinRAR المعرضة للخطر ويوصي بالتحديث إلى إصدار تم إصلاحه.

ابق على اطلاع دائم OPSWAT!

اشترك اليوم لتلقي آخر تحديثات الشركة, والقصص ومعلومات عن الفعاليات والمزيد.