آخرین اخبار
همهٔ اخبار
اینترنت اشیاء (IoT) گزارش بحرانیت ۳/۱۰

کشف آسیب‌پذیری Null Pointer Dereference در پیاده‌سازی پروتکل LwM2m (CVE-2026-18746)

کشف آسیب‌پذیری Null Pointer Dereference در پیاده‌سازی پروتکل LwM2m (CVE-2026-18746)

یک آسیب‌پذیری امنیتی با شناسه CVE-2026-18746 در نحوه مدیریت پیام‌های پروتکل LwM2m (Lightweight M2M) شناسایی شده است. این نقص امنیتی در تابع parse_write_op() و در مسیر subsys/net/lib/lwm2m/lwm2m_message_handling.c رخ می‌دهد و مربوط به پردازش درخواست‌های ورودی CoAP WRITE/CREATE است که دارای گزینه Block1 هستند.

تحلیل فنی نقص امنیتی

در جریان انتقال داده‌ها، برای اولین بلوک (Block)، سیستم تابع init_block_ctx() را فراخوانی می‌کند. مشکل زمانی رخ می‌دهد که استخر حافظه استاتیک block1_contexts[] پر شده باشد یا هیچ ورودی آزاد/منقضی شده‌ای در آن وجود نداشته باشد. در این حالت، تابع init_block_ctx() مقدار -ENOMEM را برمی‌گرداند و اشاره‌گر (Pointer) فراخوان را به NULL تغییر می‌دهد.

با این حال، کد برنامه بدون بررسی کد بازگشتی (Return Code) از تابع مذکور، بلافاصله اقدام به ذخیره اندازه بلوک انتخاب شده توسط Peer در مسیر block_ctx->ctx.block_size = block_size می‌کند. از آنجایی که در شرایط خطا، block_ctx برابر با NULL است، این عملیات منجر به یک Null Pointer Dereference می‌شود.

پیامدهای امنیتی

  • از دسترس خارج شدن (DoS): این خطا می‌تواند منجر به کرش کردن (Crash) سیستم یا ری‌استارت شدن دستگاه شود که در محیط‌های صنعتی و IoT بسیار بحرانی است.
  • پایداری سیستم: به دلیل ماهیت مدیریت حافظه در سیستم‌های نهفته (Embedded)، این نقص می‌تواند پایداری کل زیرساخت ارتباطی دستگاه را تحت تأثیر قرار دهد.