در USB Gadget، یک زیرسیستم هسته Linuxیک آسیبپذیری (CVE-2021-39685) در رابط برنامهنویسی کاربردی USB Gadget شناسایی شده است که یک رابط نرمافزاری برای ایجاد دستگاههای USB کلاینت و شبیهسازی دستگاههای USB فراهم میکند. این آسیبپذیری میتواند منجر به نشت اطلاعات هسته، از کار افتادن یا اجرای کد دلخواه در سطح هسته شود. این حمله توسط یک کاربر محلی غیرمجاز از طریق دستکاری کلاسهای مختلف دستگاه پیادهسازی شده با استفاده از رابط برنامهنویسی کاربردی USB Gadget، مانند rndis، hid، uac1، uac1_legacy و uac2 انجام میشود.
این مشکل در بهروزرسانیهای هسته که اخیراً منتشر شدهاند، برطرف شده است. Linux ۵.۱۵.۸، ۵.۱۰.۸۵، ۵.۴.۱۶۵، ۴.۱۹.۲۲۱، ۴.۱۴.۲۵۸، ۴.۹.۲۹۳ و ۴.۴.۲۹۵. مشکل در توزیعها (Debian, Ubuntu، RHEL، SUSE، Fedora، Arch). یک نمونه اولیه از بهرهبرداری برای نشان دادن این آسیبپذیری آماده شده است.
این مشکل ناشی از سرریز بافر در کنترلکنندههای درخواست انتقال داده درایورهای گجت rndis، hid، uac1، uac1_legacy و uac2 است. با سوءاستفاده از این آسیبپذیری، یک مهاجم غیرمجاز میتواند با ارسال یک درخواست کنترل ویژه با مقدار فیلد wLength که از اندازه بافر استاتیک که همیشه به ۴۰۹۶ بایت (USB_COMP_EP0_BUFSIZ) اختصاص داده میشود، تجاوز میکند، به حافظه هسته دسترسی پیدا کند. این حمله به یک فرآیند فضای کاربر غیرمجاز اجازه میدهد تا حداکثر ۶۵ کیلوبایت داده را در حافظه هسته بخواند یا بنویسد.
منبع: opennet.ru
