یک آسیبپذیری سطح بالا در نسخهی 5.1.0 سیستمعامل RT-Thread شناسایی شده است.
این آسیبپذیری در فراخوان سیستمی sys_recvfrom در فایل زیر وجود دارد:
rt-thread/components/lwp/lwp_syscall.c
این آسیبپذیری ناشی از بررسی ضعیف اشارهگر پارامتر from در تابع sockaddr_tomusl است. مهاجم میتواند با کنترل این اشارهگر، در مکانهای دلخواهی از حافظه کرنل بنویسد که ممکن است به افزایش سطح دسترسی و در نهایت به خطر افتادن کل سیستم منجر شود.

آسیبپذیری شناساییشده مربوط به نحوه پردازش پارامتر std در تابع sockaddr_tomusl است.
در این تابع، تنها یک بررسی ساده برای NULL بودن اشارهگر std انجام میشود، اما هیچ اعتبارسنجیای برای اطمینان از اینکه این اشارهگر به یک ناحیه معتبر در فضای کاربر اشاره دارد، صورت نمیگیرد. این ضعف امنیتی باعث میشود مهاجم بتواند با ارائه یک اشارهگر مخرب، حافظه دلخواه را هدف قرار دهد و دادههایی را در آن بنویسد.
این موضوع بهویژه زمانی بحرانی میشود که این اشارهگر به نواحی حساس مانند حافظه کرنل اشاره کند.
این آسیبپذیری به دلایل زیر از سطح خطر بالایی برخوردار است:
- پارامتر from مستقیماً از فضای کاربر دریافت شده و به کرنل ارسال میشود.
- در کد فقط بررسی میشود که اشارهگر std تهی نباشد.
- هیچ بررسی امنیتی برای تشخیص معتبر بودن آدرس در فضای کاربر انجام نمیشود.
- تابع memcpy بدون اعتبارسنجی، دادهها را به آدرسی که مهاجم مشخص کرده، کپی میکند.
محصولات آسیبپذیر
- نسخهی 5.1.0
منابع خبر:
- 22