مایکروسافت با استفاده از ابزار هوش مصنوعی خود به نام Security Copilot موفق به شناسایی ۲۰ آسیبپذیری ناشناخته در بوت لودرهای GRUB2، U-Boot و Barebox شده است.
GRUB2 (مخفف GRand Unified Bootloader) بهصورت پیشفرض در اکثر توزیعهای لینوکس از جمله Ubuntu بهکار میرود، در حالی که U-Boot و Barebox بیشتر در دستگاههای توکار (embedded) و اینترنت چیزها (IoT) استفاده میشوند.
مایکروسافت ۱۱ آسیبپذیری در GRUB2 کشف کرده است که شامل سرریزهای عدد صحیح و بافر در مفسرهای فایلسیستم، مشکلات در دستورات، و همچنین حمله کانال جانبی در تابع مقایسه رمزنگاری میشود.
علاوه بر این، ۹ سرریز بافر در هنگام تجزیه فایلسیستمهای SquashFS، EXT4، CramFS، JFFS2 و symlinks در U-Boot و Barebox کشف شده که برای بهرهبرداری از آنها نیاز به دسترسی فیزیکی به دستگاه است.
این آسیبپذیریهای جدید، دستگاههایی که به Secure Boot مبتنی بر UEFI متکی هستند را تحتتأثیر قرار میدهند. در صورت فراهم بودن شرایط مناسب، مهاجمان میتوانند از این نقاط ضعف برای دور زدن مکانیزمهای امنیتی و اجرای کد دلخواه روی دستگاه استفاده کنند.
گرچه سوءاستفاده از این آسیبپذیریها معمولاً نیاز به دسترسی محلی دارد، اما نمونههایی مانند حمله بوتکیت BlackLotus پیشتر توانستهاند از طریق آلودگیهای نرمافزاری (malware) به این مهم دست یابند.
مایکروسافت در اینباره توضیح میدهد:
«در حالی که مهاجمان احتمالاً برای سوءاستفاده از آسیبپذیریهای U-Boot یا Barebox نیاز به دسترسی فیزیکی دارند، در مورد GRUB2 این امکان وجود دارد که این ضعفها برای دور زدن Secure Boot و نصب بوتکیتهای مخفی یا حتی دور زدن سایر مکانیزمهای امنیتی مانند BitLocker مورد استفاده قرار گیرند.»
«نصب چنین بوتکیتهایی پیامدهای جدیای دارد، زیرا میتواند کنترل کامل دستگاه را در اختیار مهاجم قرار دهد، به آنها امکان دهد تا فرآیند بوت و سیستمعامل را کنترل کرده، سایر دستگاههای شبکه را آلوده کنند و اقدامات مخرب دیگری را پیش ببرند.»
«علاوه بر این، ممکن است بدافزارهای ماندگاری ایجاد شود که حتی پس از نصب مجدد سیستمعامل یا تعویض هارد دیسک نیز باقی بمانند.»
خلاصهای از آسیبپذیریهای کشفشده در GRUB2 توسط مایکروسافت:
-
CVE-2024-56737 – سرریز بافر در هنگام مانت فایلسیستم HFS بهدلیل استفاده ناامن از
strcpy
روی رشته بدون تهنویس (null-terminated) -
CVE-2024-56738 – حمله کانال جانبی در تابع مقایسه رمزنگاری (
grub_crypto_memcmp
) بهدلیل نبود اجرای زمان-ثابت (constant-time) -
CVE-2025-0677 – سرریز عدد صحیح در مدیریت پیوندهای نمادین فایلسیستم UFS منجر به سرریز بافر
-
CVE-2025-0678 – سرریز عدد صحیح هنگام خواندن فایلهای Squash4 منجر به سرریز بافر (دارای شدت بالا – امتیاز 7.8)
-
CVE-2025-0684 – سرریز عدد صحیح در symlink فایلسیستم ReiserFS منجر به سرریز بافر
-
CVE-2025-0685 – سرریز عدد صحیح در symlink فایلسیستم JFS منجر به سرریز بافر
-
CVE-2025-0686 – سرریز عدد صحیح در symlink فایلسیستم RomFS منجر به سرریز بافر
-
CVE-2025-0689 – خواندن خارج از محدوده (out-of-bounds) در پردازش بلوکهای فایلسیستم UDF
-
CVE-2025-0690 – سرریز عدد صحیح علامتدار و نوشتن خارج از محدوده در فرمان
read
(مدیریت ورودی صفحهکلید) -
CVE-2025-1118 – فرمان
dump
امکان خواندن حافظه دلخواه را فراهم میکند (باید در محیطهای عملیاتی غیرفعال شود) -
CVE-2025-1125 – سرریز عدد صحیح در باز کردن فایل فشردهشده HFS منجر به سرریز بافر
تمامی آسیبپذیریهای فوق دارای سطح شدت «متوسط» هستند، بهجز CVE-2025-0678 که دارای شدت بالا (CVSS 7.8) میباشد.
مایکروسافت اعلام کرده که ابزار Security Copilot فرآیند کشف آسیبپذیریها در کدهای بزرگ و پیچیدهای مانند GRUB2 را بهشکل قابلتوجهی تسریع کرده و حدود یک هفته در زمان تحلیل دستی صرفهجویی کرده است.
این ابزار نهتنها موفق به کشف آسیبپذیریهای ناشناخته شده، بلکه پیشنهادهای مشخص برای کاهش ریسک و اصلاح کد نیز ارائه داده است که برای پروژههای متنبازی با تیمهای کوچک یا داوطلبانه بسیار مفید است.
مایکروسافت همچنین اعلام کرده که با استفاده از یافتههای بهدستآمده در این تحلیل، Security Copilot توانسته آسیبپذیریهای مشابه را در پروژههایی که از کد مشترک با GRUB2 استفاده میکنند (مانند U-Boot و Barebox) نیز شناسایی کند.
بروزرسانیهای امنیتی مربوط به این آسیبپذیریها برای GRUB2، U-Boot و Barebox در فوریه ۲۰۲۵ منتشر شدهاند، بنابراین به کاربران بروزرسانی به آخرین نسخهها توصیه میشود تا از خطرات جلوگیری شود.