آخرین اخبار
همهٔ اخبار
اکسپلویت‌ها گزارش بحرانیت ۳/۱۰

آسیب‌پذیری در MCUmgr: ریسک Integer Underflow در پروتکل SMP-over-console (CVE-2026-18747)

آسیب‌پذیری در MCUmgr: ریسک Integer Underflow در پروتکل SMP-over-console (CVE-2026-18747)

یک آسیب‌پذیری با شدت متوسط (Medium) در بخش انتقال SMP-over-console در MCUmgr شناسایی شده است که می‌تواند منجر به بروز خطای Integer Underflow شود.

تحلیل فنی

در تابع mcumgr_serial_process_frag() (واقع در مسیر subsys/mgmt/mcumgr/transport/src/serial_util.c)، سیستم یک فریم base64 را رمزگشایی کرده و طول بسته (Packet Length) ۱۶ بیتی را از آن می‌خواند. پس از تایید CRC، کد به صورت غیرمشروط مقدار ۲ واحد را از طول بسته کم می‌کند (rx_ctxt->nb->len -= 2U).

نقص امنیتی در تابع mcumgr_serial_extract_len() نهفته است؛ این تابع هر طول اعلام شده‌ای، از جمله ۰ و ۱ را می‌پذیرد. زمانی که طول بسته ۰ باشد، تست Checksum به دلیل اینکه خروجی crc16_itu_t() برای صفر بایت برابر با مقدار Seed اولیه است، به راحتی تایید شده و از سد امنیتی عبور می‌کند.

پیامدهای احتمالی

  • Integer Underflow: کاهش مقدار از صفر در متغیرهای بدون علامت (Unsigned) منجر به ایجاد یک مقدار عددی بسیار بزرگ در حافظه می‌شود.
  • Memory Corruption: این وضعیت می‌تواند منجر به دسترسی‌های غیرمجاز به حافظه، نشت داده یا ایجاد وضعیت عدم دسترسی (DoS) در دستگاه‌های هدف گردد.