قرصنة الذكاء الاصطناعي - كيف يستخدم القراصنة الذكاء الاصطناعي في الهجمات الإلكترونية

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

التحليل الأمني لإطار عمل راك روبي: CVE-2025-25184 و CVE-2025-27111 و CVE-2025-27610

ب OPSWAT
شارك هذا المنشور

من خلال تحليل أمني شامل أجراه الفريق الأحمر التابع OPSWAT حدد الباحثان الأمنيان تاي دو ومينه فام ثغرات أمنية متعددة تؤثر على إطار عمل راك روبي، وتحديداً CVE-2025-25184 و CVE-2025-27111 و CVE-2025-27610.  

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

نظرة عامة على الحامل

Rack هي واجهة معيارية تربط خوادم الويب بتطبيقات الويب المستندة إلى Ruby. وهي تعمل على توحيد التفاعل بين هذه المكونات من خلال تغليف طلبات HTTP واستجاباتها في استدعاء أسلوب واحد، مما يبسّط عملية التطوير ويعزز التوافق عبر مختلف الأطر والخوادم.  

يُستخدم Rack من قبل العديد من أطر عمل ومكتبات الويب Ruby، مثل Ruby on Rails و Sinatra. وهو متاح كجوهرة روبي. إن الاعتماد العالمي الواسع النطاق ل Rack، مع أكثر من مليار عملية تنزيل على مستوى العالم، يسلط الضوء على دوره الأساسي في نظام روبي البيئي للتطوير. تعمل مكونات البرمجيات الوسيطة مثل Rack::Static و Rack::Sendfile على تعزيز الكفاءة من خلال التعامل مع تسليم المحتوى الثابت وتحسين نقل الملفات. ونظراً لهذا التكامل الواسع النطاق، فإن الثغرات الأمنية المكتشفة في Rack تمثل آثاراً أمنية كبيرة، مما قد يؤثر على العديد من التطبيقات والأنظمة في جميع أنحاء العالم. 

اكتشاف الثغرات الأمنية في الحامل

خلال بحث أمني أجري مؤخرًا على إطار عمل البرمجيات الوسيطة Rack، حدد الباحثان OPSWAT تاي دو ومينه فام، العديد من الثغرات الأمنية التي تشكل مخاطر أمنية كبيرة على تطبيقات الويب المستندة إلى روبي:

  • CVE-2025-25184: اكتشف ثاي دو ثغرة أمنية تمكّن المهاجمين من تنفيذ حقن السجل عبر أحرف CRLF (تغذية سطر الإرجاع CRLF)، مما قد يؤدي إلى التلاعب بإدخالات السجل. 
  • CVE-2025-27111: كشف مينه فام عن ثغرة أمنية تسمح للمهاجمين بحقن محتوى السجل والتلاعب به من خلال قيم رؤوس خبيثة. 
  • cve-2025-27610: حدد مينه فام أيضًا ثغرة أمنية في اجتياز المسار، والتي يمكن أن تمكّن المهاجمين من الوصول غير المصرح به إلى ملفات موجودة خارج دليل الملفات الثابتة المعينة، مما يشكل تهديدًا أمنيًا كبيرًا.

من بين هذه الثغرات، تعتبر الثغرة CVE-2025-27610 خطيرة بشكل خاص، حيث يمكن أن تمكّن المهاجمين غير المصادقين من استرداد المعلومات الحساسة، بما في ذلك ملفات التكوين وبيانات الاعتماد والبيانات السرية، مما يؤدي إلى اختراق البيانات. وقد مُنحت هذه الثغرة الأمنية درجة CVSS 7.5، مما يصنفها على أنها من المخاطر عالية الخطورة.

رسم تخطيطي يوضح عملية اكتشاف الثغرات الأمنية في إطار عمل راك روبي

الحامل::ثغرة في تضمين الملفات الثابتة والمحلية

فهم الحامل::ثابت 

Rack::Static هو برنامج وسيط أساسي في تطبيقات Rack يُستخدم بشكل أساسي لخدمة الملفات الثابتة مثل JavaScript و CSS والصور بكفاءة. من خلال الاستفادة من Rack::Static، يمكن للمطورين دمج عرض المحتوى الثابت بسلاسة في تطبيقات روبي دون الحاجة إلى الاعتماد على تكوين خادم ويب إضافي.  

عند تكوين Rack::Static، يبرز خياران أساسيان - :urls و :root. الفهم والاستخدام الصحيح لهذين الخيارين يبسطان ويبسطان بشكل كبير عملية عرض الملفات الثابتة. 

1. خيار :urls

يحدد الخيار :urls مسارات عناوين URL التي يجب أن يتعامل معها تطبيق Rack كأصول ثابتة. يتم توفيره كمصفوفة من السلاسل، كل منها يمثل بادئة مسار تقوم بتشغيل معالجة الملفات الثابتة. 

على سبيل المثال: 

لقطة شاشة برمجية توضيحية لرمز Rack::Static :urls الثابتة: تكوين خيار urls في تطبيق روبي

في هذا التكوين، يتم اعتراض الطلبات المؤدية إلى /صور أو /css أو /js ومعالجتها بواسطة Rack::Static. سيتم عرض أي ملف يطابق هذه المسارات مباشرةً من نظام الملفات. 

2. خيار :الجذر

يحدد الخيار :الجذر الدليل الأساسي الذي سيتم عرض الملفات الثابتة منه. يكون هذا الدليل قريبًا من دليل العمل الحالي لتطبيق Rack الخاص بك. 

بالنظر إلى المثال السابق:

لقطة شاشة للرمز توضح إعداد خيار Rack::Static :root لعرض الملفات الثابتة

عندما يتم تقديم طلب إلى /assets/logo.png، يحاول Rack::Static عرض الملف الموجود في public/assets/logo.png

مثال عملي

يوفر التنفيذ الفعال ل Rack::Static من خلال الخيارين :urls و :root طريقة منظمة وفعالة لعرض المحتوى الثابت داخل تطبيقات الويب Ruby: 

لقطة شاشة لرمز يصور مثالاً عمليًا لـ Rack::Static لتكوين محتوى ثابت

في هذا السيناريو، ستتم معالجة الطلبات إلى /assets/* و /favicon.ico تلقائيًا بواسطة Rack::Static. يجب أن تكون جميع الملفات المقابلة موجودة في الدليل العام/الأصول والعام /favicon.ico.ico على التوالي. 

CVE-2025-27610 التفاصيل الفنية

خلال تحليل أمني شامل ل Rack::Static، اكتشف مينه فام ثغرة أمنية كبيرة تتعلق بالمعالجة غير الصحيحة للخيار :root. على وجه التحديد، عندما لا يتم تعريف المعلمة :root بشكل صريح، يقوم Rack بتعيين هذه القيمة افتراضيًا إلى دليل العمل الحالي عن طريق تعيين قيمة Dir.pwd، مما يعينه ضمنيًا كدليل جذر الويب لتطبيق Rack. 

بشكل ملحوظ، يقوم Rack::Static مباشرةً بربط مسارات عناوين URL الواردة مع الدليل الجذر المحدد دون التحقق من الصحة أو التعقيم الكافي. وبالتالي، إذا كان الخيار :الجذر إما غير معرف أو تم تكوينه بشكل خاطئ بالنسبة للخيار :urls، يمكن لمهاجم غير مصادق استغلال هذه الثغرة من خلال تقنيات اجتياز المسار للوصول إلى ملفات حساسة خارج دليل الويب المقصود. 

يقدّم القسم التالي تحليلاً مفصلاً لعملية معالجة الطلبات في Rack::Static، ويوضح كيف يمكن استغلال هذه الثغرة.

ثغرة اجتياز المسار وتضمين ملف محلي في Rack::Static

للحصول على فهم أعمق لكيفية معالجة البرمجية الوسيطة Rack::Static للطلبات، أجرى مينه فام تحليلاً شاملاً لشيفرة مصدر Rack. أثناء تهيئة فئة Rack::Static، لاحظ أنه إذا لم يتم تعريف الخيار :root بشكل صريح، فإن Rack::Static يقوم افتراضيًا بعرض الملفات من دليل العمل الحالي (Dir.pwd). وبالتالي، يؤدي حذف هذا الخيار إلى استخدام البرنامج الوسيط ضمنيًا للدليل الذي يتم تنفيذ التطبيق منه.

لقطة شاشة التعليمات البرمجية التي تظهر تهيئة Rack::Static وتعيين الدليل الجذر الافتراضي
لقطة شاشة للرمز الذي يوضح طريقة استدعاء Rack::Static call method التعامل مع طلبات HTTP

بعد التهيئة، تم تحديد أنه عندما يتلقى Rack::Static طلب HTTP وارد، يتم استدعاء أسلوب الاستدعاء.

لقطة شاشة للرمز تُظهر Rack::Static تفويض خدمة الملفات إلى Rack::Files

بعد ذلك، يقوم Rack::Static بتفويض عملية خدمة الملف إلى Rack::Files، الذي يحاول تحديد موقع الملف وخدمته بناءً على مسار الملف المُنشأ المستمد من الدليل الجذر المهيأ و PATH_INFO الذي يوفره المستخدم.

لقطة شاشة برمجية تصور بناء مسار الملف في Rack::Static باستخدام :root و PATH_INFO

أولًا، باستدعاء الطريقتين can_serve(path) و overwrite_file_path(path)، تفحص البرمجية الوسيطة env["PATH_INFO"] لتحديد ما إذا كان الطلب الوارد يطابق أيًا من بادئات عناوين URL المهيأة (مثل /static، /public). 

لقطة شاشة رمز توضح طرق التحقق من مسارات الملفات والكتابة فوقها في Rack::Static

إذا تم استيفاء الشرط، يقوم Rack::Static ببناء مسار الملف عن طريق دمج الدليل الجذر المكوّن (:root) مع PATH_INFO الذي يوفره المستخدم. يحدث هذا الإنشاء بدون تطبيع أو تعقيم كافٍ لمسار الإدخال. على وجه التحديد، تقوم البرمجية الوسيطة مباشرةً بربط PATH_INFO من الطلب الوارد مع الدليل المحدد بواسطة الخيار :root، مما يؤدي إلى حدوث ثغرة أمنية بسبب عدم كفاية التحقق من صحة المسار المقدم

لقطة شاشة برمجية توضح تسلسل مسار الملف الضعيف في Rack::Static

اكتشف مينه فام أنه نظرًا لغياب التعقيم أو التحقق من الصحة في سير العمل هذا، إذا كان PATH_INFO الذي يوفره المستخدم يحتوي على تسلسلات اجتياز الدليل، ولم يتم تحديد الخيار :root بشكل صريح، يمكن أن يحل مسار الملف الذي تم إنشاؤه إلى موقع خارج الدليل الجذر المقصود، مما قد يؤدي إلى تعريض الملفات الحساسة للخطر.

إثبات صحة المفهوم CVE-2025-27610

لإثبات هذه الثغرة في Rack::Static، قمنا بتطوير تطبيق ويب قائم على روبي باستخدام الإصدار 3.1.10 من Rack. في السيناريوهات التي لا يحدد فيها التطبيق صراحةً الخيار :الجذر، يمكن لمهاجم غير مصادق استغلال هذه الثغرة للوصول إلى البيانات الحساسة، مثل بيانات الاعتماد أو ملفات التكوين أو ملفات قاعدة البيانات، مما قد يؤدي إلى اختراق كبير للبيانات. 

يُرجى الرجوع إلى الفيديو التالي للاطلاع على شرح تفصيلي للتأثير الكبير المرتبط بهذه الثغرة الأمنية:

التخفيف والتوجيه

للتخفيف من نقاط الضعف التي ناقشناها أعلاه، يرجى التأكد من تحديث نظامك إلى أحدث إصدار من Rack.

يستطيع MetaDefender Core باستخدام محرك SBOM اكتشاف هذه الثغرة الأمنية.

OPSWAT MetaDefender Coreالمجهز بإمكانيات SBOMSoftware فاتورةSoftware ) المتقدمة، يمكّن المؤسسات من اتباع نهج استباقي في معالجة المخاطر الأمنية. ومن خلال فحص تطبيقات البرمجيات وتوابعها، يحدد MetaDefender Core الثغرات الأمنية المعروفة، مثل CVE-2025-27610 و CVE-2025-27111 و CVE-2025-25184، ضمن المكونات المدرجة. وهذا يمكّن فرق التطوير والأمان من تحديد أولويات جهود التصحيح، مما يخفف من المخاطر الأمنية المحتملة قبل أن تستغلها الجهات الخبيثة. 

فيما يلي لقطة شاشة لكل من CVE-2025-27610 و CVE-2025-27111 و CVE-2025-25184، والتي تم اكتشافها بواسطة MetaDefender Core مع SBOM:

لقطة شاشة للوحة التحكم تُظهر MetaDefender Core وهو يكتشف ثغرات إطار عمل Rack Ruby
العلامات:

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

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