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 (New Technology File System) is the default filesystem for modern versions of Windows. Compared to FAT-based filesystems, NTFS supports advanced capabilities including ACLs (access control lists), EFS encryption, compression, hard links, reparse points (junctions and symlinks), and ADS.
ADS is an NTFS feature that allows a single file or directory to contain multiple independent streams of data. The primary, user-visible content is stored in the unnamed default stream, commonly represented as ::$DATA, while additional named streams can be accessed using the syntax:
اسم_الملف.امتداد:اسم_الدفق
These named streams are not normally visible in standard Windows Explorer views, but they are fully supported by the filesystem and can be enumerated using supported tooling. For instance, dir /R can display alternate streams.
WinRAR supports extracting archive entries that include ADS syntax. When such entries exist within an archive, WinRAR writes the corresponding content into the target file’s alternate stream during extraction.

فهم بنية ملفات RAR5
يتم تخزين ملفات RAR5 على شكل سلسلة من الكتل. تبدأ كل كتلة برأس يحدد نوع الكتلة ومعلومات حجمها. وقد تتضمن، بشكل اختياري، منطقة بيانات وصفية إضافية ومنطقة بيانات تتكون من بايتات الحمولة، مثل المحتوى المضغوط.
الكتلة = الرأس + (مساحة إضافية اختيارية) + (مساحة بيانات اختيارية)
يستخدم RAR5 عدة أنواع من الكتل. وأنواع الكتل ذات الصلة في CVE هي:
- رأس الملف (النوع 2): يصف إدخال ملف في الأرشيف (الاسم/المسار، والخصائص، والطوابع الزمنية، ومعلمات الضغط)، وتليها بيانات محتوى الملف
- رأس الخدمة (النوع 3): رؤوس تكميلية اختيارية تُخزّن بيانات وصفية إضافية مرتبطة بالأرشيف أو بمدخل ملف معين، مثل ADS
يتم تمثيل ADS في نظام الملفات NTFS بواسطة رأس خدمة (النوع 3)، يُشار إليه بـ STM. وتحتوي منطقة بيانات رأس الخدمة على بايتات دفق ADS الخاصة بمدخل الملف الأساسي.
بصورة مبسطة:

التحليل الفني (CVE-2025-8088)
سير عمل استخراج ملفات RAR5
WinRAR processes RAR5 archives as a sequence of blocks. During extraction, it iterates over these blocks, parses each block header, and validates header integrity using the embedded CRC32 before continuing. After a file entry is processed, WinRAR decompresses and writes the base file content to the disk, then determines whether additional NTFS-related metadata must be applied via associated service records. When an ADS (Alternate Data Stream) record is present, such as an STM service entry, WinRAR enters the ADS-handling path, combines the base file path with the stream name to form the ADS target, and creates the stream.

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

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

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

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



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

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

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

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

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

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


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




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

إثبات صحة الفكرة
To demonstrate CVE-2025-8088, our graduate fellows prepared a crafted RAR archive file containing an ADS (“STM”) service record with attacker-controlled fields. This archive is structured with an ADS stream name that includes traversal sequences. This structure influences the final target location during ADS handling, including the path passed to CreateFileW() when the stream is created. To ensure that WinRAR accepts the modified metadata and reaches the ADS-processing path, the relevant header CRC32 values are recomputed so the archive passes header integrity validation.

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

الاصلاح
يمكن التخفيف من مخاطر الثغرة الأمنية CVE-2025-8088 عن طريق تحديث برنامج WinRAR إلى إصدار تم إصلاحه (7.13 أو أحدث) على جميع الأجهزة الطرفية الخاضعة للإدارة. وإذا تعذر إجراء التحديث في الوقت المناسب، فيجب النظر في اتخاذ إجراءات تعويضية، مثل:
- تقييد أو تعطيل الاحتفاظ بـ ADS في أدوات الأرشفة عندما لا يكون ذلك ضروريًا
- تقييد استخراج الملفات المضغوطة غير الموثوق بها على البيئات المعزولة
- تطبيق مبدأ "أقل امتياز ممكن" (تجنب تشغيل أدوات الاستخراج أدوات )
- مراقبة المجلدات المهمة، مثل مجلدات التشغيل، بحثًا عن عمليات كتابة غير متوقعة ناشئة عن عمليات استخراج الملفات من الأرشيف
من أجل vulnerability detection المبكر vulnerability detection المتقدمة vulnerability detection بسرعة، يدعم MetaDefender عمليات الإصلاح العاجلة من خلال تحديد الأجهزة التي تعمل بإصدارات WinRAR المعرضة للخطر وإبراز التحديثات المطلوبة. وتقوم قدراته القوية في إدارة الثغرات الأمنية والتحديثات، التي تدعم أكثر من 1100 تطبيق، بالتعرف بشكل استباقي على الأجهزة الطرفية التي تعمل بأنظمة تشغيل أو تطبيقات خارجية غير محدثة أو لم يتم تصحيحها، وتقدم الحلول الموصى بها.
تتيح Vulnerability Management للمسؤولين الكشف السريع عن الثغرات الأمنية، وتحديد أولويات الإصلاح، ودفع عملية الترقية إلى إصدار تم تصحيحه، مما يقلل من مخاطر هجمات الكتابة على الملفات التي تستهدف الأرشيفات، مثل CVE-2025-8088، والتهديدات المماثلة التي تستهدف نقاط النهاية.

