آسیبپذیری بحرانی در فریمور UEFI؛ خطری برای سرورهای سراسر جهان — Code-execution flaw in UEFI firmware threatens most servers on planet Earth
خلاصه
یک باگ حافظه پنهان با امتیاز ۹.۵ در پشته شبکه TianoCore EDK2 به مهاجمان اجازه میدهد کدهای مخرب را در بالاترین سطح دسترسی (Ring 0) و پیش از لود شدن سیستمعامل اجرا کنند. این آسیبپذیری که در پروتکل PXE و بخش پردازش ICMP وجود دارد، زنجیره اعتماد سیستم را دور میزند و نیازمند بهروزرسانی بایوس/فریمور سرورها است.
صنعت نرمافزار و امنیت با یک آسیبپذیری بحرانی جدید در حوزه فریمورهای بوت روبرو شده است. این نقص امنیتی که با شناسه CVE-2026-97631 و امتیاز شدت ۹.۵ از ۱۰ رتبهبندی شده، در کتابخانه متنباز TianoCore EDK II کشف شده است. این کد منبع به عنوان راهحل استاندارد و مرجع برای پیادهسازی مشخصات UEFI در بیشتر سرورها و دیتاسنترهای جهان استفاده میشود.
زمینه و ساختار فنی آسیبپذیری
کتابخانه EDK2 پایهگذار فریمورهای شرکتهای مختلفی از جمله AMI، Insyde و Phoenix بوده است. حتی نسخه سفارشیسازی شده مایکروسافت یعنی Project Mu نیز از این بخش آسیبپذیر استفاده میکند. مشکل اصلی یک نقص سرریز بافر (Buffer Overflow) قدیمی شانزده ساله در درایور PXE-Base Code است که مسیر NetworkPkg/UefiPxeBcDxe قرار دارد.
این درایور برای بوت کردن سرورها و تجهیزات از طریق شبکه محلی (PXE) کاربرد دارد. در طول این فرآیند، درایور یک لیسنر شبکه برای مدیریت خطاهای ICMP باز نگه میدارد. بخش آسیبپذیر دارای جزئیات زیر است:
- درایور پیامهای خطای دریافتی ICMP را در یک فیلد ثابت ۵۰۴ بایتی کپی میکند.
- حلقههای کپیکننده در هندلرهای IPv4 و IPv6 محدودیت حجمی ۵۰۴ بایت را بررسی نمیکنند.
- اشارهگر مقصد به جای طول هر قطعه، بر اساس طول انباشتهشده جلو میرود و در نتیجه بایتهای سفارشی مهاجم بازنویسی میشوند.
این اشکال منجر به خراب شدن ماژول UEFI در حال اجرا روی پردازنده میشود و مهاجم میتواند کدهای دلخواه خود را در بالاترین سطح دسترسی سیستم یعنی ring 0 اجرا کند.
چرا این مسئله برای مهندسان اهمیت دارد؟
این آسیبپذیری پیش از بارگذاری سیستمعامل و مکانیزمهای دفاعی مانند Secure Boot و Trusted Platform Module (TPM) اجرا میشود. بنابراین میتواند زنجیره اعتماد بوت را کاملاً از کار بیندازد. با این حال، بهرهبرداری از آن نیازمند شرایط خاصی است:
- مهاجم باید به شبکه محلی دسترسی داشته باشد یا به عنوان یک خودی عمل کند.
- این حمله در طول توالی بوت شبکه (PXE) عمل میکند و برای هر مدل و سختافزار نیازمند تنظیم دقیق آدرسهای حافظه است.
- سرورهایی که از دیسک بوت میشوند و قابلیت بوت شبکه در آنها غیرفعال است، مستقیماً تحت تأثیر قرار نمیگیرند.
نگاهی به بحثهای هکرنیوز
برخی از توسعهدهندگان در Hacker News به چالشهای پیادهسازی این بخش اشاره کردهاند. به گفته آنها، پشته شبکه EDK2 معمولاً تنها پروتکلهای مورد نیاز را بستهبندی میکند و بسیاری از بیلدها ممکن است اصلاً کد ICMP را کاملاً کامپایل نکنند. همچنین اشاره شد که دسترسی به شبکه محلی در حدی که بتواند حمله ICMP را پیادهسازی کند، عموماً به مهاجم اجازه میدهد کارهای ساده تری مثل MitM روی ترافیک PXE انجام دهد و ایمیج بوت دلخواه خود را تزریق کند.
راهکارها و اقدامات اصلاحی
توسعهدهندگان و مدیران زیرساخت باید وضعیت فریمور سرورهای خود را بررسی کنند. از آنجا که این باگ با یک اصلاحیه کد سادهتر در مقایسه با مواردی مثل Secure Boot bypass قابل حل است، سازندگان سختافزار باید بهروزرسانیهای بایوس و UEFI را منتشر کنند. به عنوان یک اقدام پیشگیرانه موقت، غیرفعال کردن قابلیت بوت شبکه در صورت عدم نیاز و مانیتورینگ لاگها توصیه میشود.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل