در ماژول ksmbd که اجرای یک فایل سرور مبتنی بر پروتکل SMB ساخته شده در هسته لینوکس را ارائه می دهد، 14 آسیب پذیری شناسایی شده است که چهار مورد از آنها امکان اجرای کد از راه دور با حقوق هسته را فراهم می کند. حمله را می توان بدون احراز هویت انجام داد، کافی است ماژول ksmbd روی سیستم فعال شود. مشکلات از هسته 5.15 شروع می شود که شامل ماژول ksmbd است. این آسیبپذیریها در بهروزرسانیهای هسته 6.3.2، 6.2.15، 6.1.28 و 5.15.112 رفع شدند. میتوانید اصلاح را در توزیعها در صفحات زیر دنبال کنید: Debian، Ubuntu، Gentoo، RHEL، SUSE، Fedora، Gentoo، Arch.
مسائل شناسایی شده:
- CVE-2023-32254, CVE-2023-32250, CVE-2023-32257, CVE-2023-32258 - اجرای کد از راه دور با حقوق هسته به دلیل نداشتن قفل شیء مناسب هنگام پردازش درخواست های خارجی حاوی SMB2_TREE_MBSET و SMB2_TREE_MBS2SMB2_TREE_MBSXNUMX SMBXNUMX_TREE_DIFFS,SMBXNUMX_TREE_MBSXNUMXSMBXNUMX_TREE_MBS دستورات XNUMX_CLOSE، که منجر به یک شرایط مسابقه قابل بهره برداری می شود. حمله را می توان بدون عبور از احراز هویت انجام داد.
- CVE-2023-32256 - محتویات مناطق حافظه هسته به دلیل شرایط مسابقه هنگام پردازش دستورات SMB2_QUERY_INFO و SMB2_LOGOFF لو رفت. حمله را می توان بدون عبور از احراز هویت انجام داد.
- CVE-2023-32252، CVE-2023-32248 - انکار سرویس از راه دور به دلیل عدم ارجاع اشاره گر تهی هنگام پردازش دستورات SMB2_LOGOFF، SMB2_TREE_CONNECT و SMB2_QUERY_INFO. حمله را می توان بدون عبور از احراز هویت انجام داد.
- CVE-2023-32249 - امکان ربودن جلسه کاربر به دلیل عدم ایزوله سازی مناسب هنگام پردازش شناسه جلسه در حالت چند کاناله.
- CVE-2023-32247، CVE-2023-32255 - انکار سرویس به دلیل نشت حافظه هنگام پردازش دستور SMB2_SESSION_SETUP. حمله را می توان بدون عبور از احراز هویت انجام داد.
- CVE-2023-2593 - انکار سرویس به دلیل تمام شدن حافظه موجود، ناشی از اشکالی است که باعث می شود هنگام پردازش اتصالات TCP جدید، حافظه برنگردد. حمله را می توان بدون عبور از احراز هویت انجام داد.
- CVE-2023-32253 - انکار سرویس به دلیل بن بست رخ داده در حین پردازش دستور SMB2_SESSION_SETUP. حمله را می توان بدون عبور از احراز هویت انجام داد.
- CVE-2023-32251 - بدون محافظت در برابر حملات brute force.
- CVE-2023-32246 - یک کاربر سیستم محلی با حق تخلیه ماژول ksmbd می تواند باعث شود که کد آنها در سطح هسته لینوکس اجرا شود.
علاوه بر این، 5 آسیب پذیری دیگر در بسته ksmbd-tools شناسایی شد که شامل ابزارهایی برای مدیریت و کار با ksmbd است که در فضای کاربر اجرا می شود. خطرناکترین آسیبپذیریها (ZDI-CAN-17822، ZDI-CAN-17770، ZDI-CAN-17820، CVE هنوز اختصاص داده نشده است) به یک مهاجم تأیید نشده از راه دور اجازه میدهد تا کد خود را بهعنوان ریشه اجرا کند. آسیبپذیریها به دلیل عدم بررسی اندازه دادههای خارجی دریافتشده قبل از کپی کردن آن در بافر در کد سرویس WKSSVC و در کنترلکنندههای اپکد LSARPC_OPNUM_LOOKUP_SID2 و SAMR_OPNUM_QUERY_USER_INFO ایجاد میشوند. دو آسیبپذیری دیگر (ZDI-CAN-17823، ZDI-CAN-17821) میتوانند منجر به انکار سرویس از راه دور بدون احراز هویت شوند.
Ksmbd به عنوان یک برنامه افزودنی با کارایی بالا و آماده تعبیه شده برای Samba معرفی می شود که در صورت نیاز با ابزارها و کتابخانه های Samba ادغام می شود. پشتیبانی از اجرای یک سرور SMB با استفاده از ماژول ksmbd از زمان انتشار 4.16.0 در بسته Samba گنجانده شده است. برخلاف سرور SMB فضای کاربر، ksmbd از نظر عملکرد، مصرف حافظه و ادغام با ویژگیهای پیشرفته هسته کارآمدتر است. ksmbd توسط Namjae Jeon سامسونگ و Hyunchul Lee از LG نوشته شده است و توسط استیو فرنچ از مایکروسافت، نگهدارنده CIFS/SMB2/SMBsy در تیم توسعهدهی طولانیمدت لینوکس، در هسته نگهداری میشود. سهم قابل توجهی در اجرای پشتیبانی از پروتکل های SMB / CIFS در سامبا و لینوکس.
علاوه بر این، دو آسیبپذیری را میتوان در درایور گرافیکی vmwgfx که برای پیادهسازی شتاب سهبعدی در محیطهای VMware استفاده میشود، مشاهده کرد. اولین آسیب پذیری (ZDI-CAN-3) به کاربر محلی اجازه می دهد تا امتیازات خود را در سیستم افزایش دهد. این آسیبپذیری به دلیل عدم بررسی وضعیت بافر قبل از آزادسازی هنگام پردازش شی vmw_buffer_object ایجاد میشود که میتواند منجر به تماس مضاعف با تابع آزاد شود. دومین آسیب پذیری (ZDI-CAN-20292) محتویات حافظه هسته را به دلیل خطاهایی در سازماندهی قفل اشیاء GEM افشا می کند.
منبع: opennet.ru