ثغرة خطيرة في أداة تحميل التشغيل GRUB2 والتي تسمح لك بتجاوز التمهيد الآمن لـ UEFI

في محمل الإقلاع GRUB2 مكشوف 8 نقاط الضعف. الاكثر خطورة مشكلة (CVE-2020-10713)، والذي يحمل الاسم الرمزي BootHole، اعط فرصة تجاوز آلية التمهيد الآمن لـ UEFI وتثبيت برامج ضارة لم يتم التحقق منها. تكمن خصوصية هذه الثغرة الأمنية في أنه لا يكفي تحديث GRUB2 للقضاء عليها، حيث يمكن للمهاجم استخدام الوسائط القابلة للتشغيل مع إصدار قديم ضعيف معتمد بتوقيع رقمي. يمكن للمهاجم أن يعرض للخطر عملية التحقق ليس فقط لنظام التشغيل Linux، ولكن أيضًا لأنظمة التشغيل الأخرى، بما في ذلك Windows.

لا يمكن حل المشكلة إلا عن طريق تحديث النظام قائمة إبطال الشهادات (dbx، قائمة إبطال UEFI)، ولكن في هذه الحالة سيتم فقدان القدرة على استخدام وسائط التثبيت القديمة مع Linux. قامت بعض الشركات المصنعة للمعدات بالفعل بتضمين قائمة محدثة لشهادات الإلغاء في برامجها الثابتة؛ وفي مثل هذه الأنظمة، يمكن فقط تحميل الإصدارات المحدثة من توزيعات Linux في وضع التمهيد الآمن UEFI.

للتخلص من الثغرة الأمنية في التوزيعات، ستحتاج أيضًا إلى تحديث أدوات التثبيت، وأدوات تحميل التشغيل، وحزم kernel، والبرامج الثابتة fwupd، وطبقة الرقائق، وإنشاء توقيعات رقمية جديدة لها. سيُطلب من المستخدمين تحديث صور التثبيت والوسائط الأخرى القابلة للتمهيد، بالإضافة إلى تحميل قائمة إبطال الشهادات (dbx) في برنامج UEFI الثابت. قبل تحديث dbx إلى UEFI، يظل النظام عرضة للخطر بغض النظر عن تثبيت التحديثات في نظام التشغيل.

عالي التأثر تسبب تجاوز سعة المخزن المؤقت الذي يمكن استغلاله لتنفيذ تعليمات برمجية عشوائية أثناء عملية التمهيد.
تحدث الثغرة الأمنية عند تحليل محتويات ملف التكوين grub.cfg، والذي يوجد عادةً في ESP (قسم نظام EFI) ويمكن تحريره بواسطة مهاجم يتمتع بحقوق المسؤول دون انتهاك سلامة الرقائق الموقعة وملفات GRUB2 القابلة للتنفيذ. بسبب أخطاء في كود محلل التكوين، يعرض معالج أخطاء التحليل الفادحة YY_FATAL_ERROR تحذيرًا فقط، لكنه لم ينهي البرنامج. يتم تقليل خطر التعرض للثغرات الأمنية من خلال الحاجة إلى الوصول المميز إلى النظام؛ ومع ذلك، قد تكون هناك حاجة إلى المشكلة لإدخال برامج rootkit المخفية إذا كان لديك وصول فعلي إلى الجهاز (إذا كان من الممكن التمهيد من الوسائط الخاصة بك).

تستخدم معظم توزيعات Linux نطاقًا صغيرًا طبقة الرقائق، موقعة رقميًا بواسطة Microsoft. تتحقق هذه الطبقة من GRUB2 بشهادتها الخاصة، مما يسمح لمطوري التوزيع بعدم اعتماد كل تحديث kernel وGRUB من قبل Microsoft. تسمح الثغرة الأمنية، عن طريق تغيير محتويات grub.cfg، بتنفيذ التعليمات البرمجية الخاصة بك في المرحلة بعد التحقق الناجح من الرقائق، ولكن قبل تحميل نظام التشغيل، يتم الدخول في سلسلة الثقة عندما يكون وضع التمهيد الآمن نشطًا ويكتسب التحكم الكامل خلال عملية التمهيد الإضافية، بما في ذلك تحميل نظام تشغيل آخر وتعديل مكونات نظام التشغيل وتجاوز الحماية تأمين.

ثغرة خطيرة في أداة تحميل التشغيل GRUB2 والتي تسمح لك بتجاوز التمهيد الآمن لـ UEFI

نقاط الضعف الأخرى في GRUB2:

  • CVE-2020-14308 - تجاوز سعة المخزن المؤقت بسبب عدم التحقق من حجم مساحة الذاكرة المخصصة في grub_malloc؛
  • CVE-2020-14309 - تجاوز عدد صحيح في grub_squash_read_symlink، مما قد يؤدي إلى كتابة البيانات خارج المخزن المؤقت المخصص؛
  • CVE-2020-14310 - تجاوز عدد صحيح في read_section_from_string، مما قد يؤدي إلى كتابة البيانات خارج المخزن المؤقت المخصص؛
  • CVE-2020-14311 - تجاوز عدد صحيح في grub_ext2_read_link، مما قد يؤدي إلى كتابة البيانات خارج المخزن المؤقت المخصص؛
  • CVE-2020-15705 — يسمح لك بتحميل النوى غير الموقعة أثناء التمهيد المباشر في وضع التمهيد الآمن بدون طبقة الرقائق؛
  • CVE-2020-15706 - الوصول إلى منطقة الذاكرة المحررة بالفعل (الاستخدام بعد الاستخدام) عند إعادة تعريف وظيفة في وقت التشغيل؛
  • CVE-2020-15707 - تجاوز عدد صحيح في معالج حجم initrd.

لقد تم إصدار تحديثات حزمة الإصلاحات العاجلة لـ ديبيان, أوبونتو, RHEL и SUSE. لـ GRUB2 مقترح مجموعة من البقع.

المصدر: opennet.ru

إضافة تعليق