آخرین اخبار
همهٔ اخبار
مدیریت آسیب‌پذیری گزارش بحرانیت ۲/۱۰

تحلیل آسیب‌پذیری CVE-2026-16662: نشت اطلاعات از پشته در فرآیند بوت

تحلیل آسیب‌پذیری CVE-2026-16662: نشت اطلاعات از پشته در فرآیند بوت

آسیب‌پذیری با شناسه CVE-2026-16662 مربوط به یک نقص در مدیریت حافظه در تابع boot_save_boot_status() است که در مسیر boot/bootutil/src/boot_record.c قرار دارد.

جزئیات فنی نقص امنیتی

این مشکل زمانی رخ می‌دهد که سیستم سعی می‌کند مقدار EXPECTED_HASH_TLV را در یک بافر پشته (Stack Buffer) به نام image_hash[IMAGE_HASH_SIZE] بخواند. نکته کلیدی این است که این بافر هرگز مقداردهی اولیه با صفر (Zero-initialised) نمی‌شود.

در فرآیند پردازش، هندلر TLV تنها حد بالای طول داده‌ها را بررسی می‌کند (len > sizeof(image_hash)) و سپس دقیقاً به تعداد len بایت را می‌خواند. در صورتی که طول داده‌های دریافتی کمتر از اندازه IMAGE_HASH_SIZE باشد، بخش انتهایی بافر image_hash حاوی محتویات قدیمی و باقی‌مانده از پشته (Stale Stack Content) خواهد بود.

پیامد امنیتی

در مرحله بعدی، عملیات کپی داده‌ها به رکورد بوت از طریق تابع memcpy(buf + offset, image_hash, sizeof(image_hash)) انجام می‌شود. از آنجایی که این تابع از اندازه ثابت بافر استفاده می‌کند، تمام محتویات بافر — از جمله داده‌های قدیمی پشته — در رکورد بوت ذخیره می‌شوند. این امر منجر به نشت اطلاعات (Information Leak) از حافظه سیستم به محیطی می‌شود که ممکن است توسط مهاجم قابل دسترسی باشد.