آسیبپذیری با شناسه 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) از حافظه سیستم به محیطی میشود که ممکن است توسط مهاجم قابل دسترسی باشد.