یک آسیبپذیری امنیتی با شناسه 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 میشود.