در آخرین بهروزرسانیهای هسته لینوکس (Linux kernel)، یک آسیبپذیری امنیتی در بخش wifi: mt76: mt7921 شناسایی و برطرف شده است. این مشکل مربوط به نحوه اعتبارسنجی رکوردهای Firmware در ناحیه CLC است.
جزئیات فنی آسیبپذیری
در این درایور، ناحیه CLC توسط Firmware تامین میشود، اما Loader به صورت پیشفرض به تعداد نواحی (Region count) و طول هر رکورد اعتماد میکرد. این عدم اعتبارسنجی باعث میشد که یک Image دستکاری شده (Malformed image) بتواند منجر به موارد زیر شود:
- قرار گرفتن اشارهگر جدول ناحیه (Region table pointer) پیش از بافر Firmware.
- شکست در پیشروی حلقه رکوردهایی (Record loop).
- دسترسی به اندیسهای
phy->clcفراتر از محدوده مجاز (Out-of-bounds index).
راهکار اصلاحی
برای رفع این مشکل، مکانیزمهای اعتبارسنجی برای محدوده جدول و رکوردها پیش از عملیات Dereferencing یا کپی کردن دادهها اضافه شده است تا از دسترسیهای غیرمجاز به حافظه جلوگیری شود.