یک آسیبپذیری با شناسه CVE-2026-16664 در مدیریتکننده آپلود بازیابی سریال (Serial-recovery upload handler) در MCUboot برای پورت Zephyr شناسایی شده است. این نقص در تابع bs_upload() واقع در مسیر boot/boot_serial/src/boot_serial.c رخ میدهد.
جزئیات فنی نقص
این آسیبپذیری زمانی اتفاق میافتد که سیستم، فیلد تصویر (image field) ارسالی از سوی میزبان در یک درخواست آپلود تصویر MCUmgr را رمزگشایی کرده و آن را در متغیر img_num (یک مقدار ۳۲ بیتی کامل) ذخیره میکند. در این فرآیند، مقدار مذکور بدون هیچگونه بررسی محدوده (Range Check)، در بستههایی که مقدار off == 0 دارند، تثبیت میشود.
سپس مقدار img_num مستقیماً به تابع flash_area_id_from_multi_image_slot(img_num, 0) ارسال میگردد. در پورت Zephyr، این فراخوانی به تابع __flash_area_ids_for_slot() در فایل boot/zephyr/include/sysflash/sysflash.h ختم میشود و منجر به ایندکسگذاری در یک آرایه استاتیک (static const int) میگردد.
پیامدهای امنیتی
به دلیل نبود اعتبارسنجی برای مقدار ورودی، یک عامل تهدید میتواند با ارسال مقادیر غیرمجاز در فیلد img_num، باعث دسترسی خارج از محدوده (Out-of-bounds) در حافظه شود. این وضعیت میتواند منجر به رفتارهای پیشبینی نشده، اختلال در سرویس (DoS) یا در سناریوهای پیچیدهتر، نشت اطلاعات از حافظه شود.