آسیب پذیری در ماژول ksmbd هسته لینوکس که به شما امکان می دهد کد خود را از راه دور اجرا کنید.

یک آسیب پذیری مهم در ماژول ksmbd شناسایی شده است که شامل اجرای یک سرور فایل مبتنی بر پروتکل SMB ساخته شده در هسته لینوکس است که به شما امکان می دهد کد خود را از راه دور با حقوق هسته اجرا کنید. حمله را می توان بدون احراز هویت انجام داد، کافی است ماژول ksmbd روی سیستم فعال شود. این مشکل از زمان هسته 5.15 که در نوامبر 2021 منتشر شد ظاهر شد و در به روز رسانی های 5.15.61، 5.18.18 و 5.19.2 که در آگوست 2022 منتشر شد، بی سر و صدا برطرف شد. از آنجایی که شناسه CVE هنوز به این مشکل اختصاص داده نشده است، اطلاعات دقیقی در مورد چگونگی رفع مشکل در توزیع ها وجود ندارد.

جزئیات مربوط به بهره برداری از این آسیب پذیری هنوز فاش نشده است؛ تنها مشخص است که آسیب پذیری ناشی از دسترسی به یک ناحیه حافظه از قبل آزاد شده (Use-After-Free) به دلیل عدم بررسی وجود یک شی قبل از انجام عملیات است. بر روی آن. مشکل به این دلیل است که تابع smb2_tree_disconnect() حافظه اختصاص داده شده برای ساختار ksmbd_tree_connect را آزاد می کند، اما پس از آن هنوز یک اشاره گر هنگام پردازش درخواست های خارجی خاص حاوی دستورات SMB2_TREE_DISCONNECT استفاده می شود.

علاوه بر آسیب پذیری ذکر شده، 4 مشکل کمتر خطرناک نیز در ksmbd رفع شده است:

  • ZDI-22-1688 - اجرای کد از راه دور با حقوق هسته به دلیل اینکه کد پردازش ویژگی فایل اندازه واقعی داده های خارجی را قبل از کپی کردن آن در بافر اختصاصی بررسی نمی کند. این آسیب پذیری با این واقعیت کاهش می یابد که حمله فقط توسط یک کاربر تأیید شده انجام می شود.
  • ZDI-22-1691 - نشت اطلاعات از راه دور از حافظه هسته به دلیل بررسی نادرست پارامترهای ورودی در کنترل کننده فرمان SMB2_WRITE (حمله فقط توسط یک کاربر تأیید شده انجام می شود).
  • ZDI-22-1687 - انکار سرویس از راه دور ناشی از اتمام حافظه موجود در سیستم به دلیل انتشار نادرست منابع در کنترل کننده فرمان SMB2_NEGOTIATE (حمله می تواند بدون احراز هویت انجام شود).
  • ZDI-22-1689 - خرابی هسته از راه دور به دلیل عدم تأیید صحیح پارامترهای دستور SMB2_TREE_CONNECT، که منجر به خواندن از ناحیه ای خارج از بافر می شود (حمله فقط توسط یک کاربر تأیید شده می تواند انجام شود).

پشتیبانی از اجرای یک سرور SMB با استفاده از ماژول ksmbd در بسته Samba از زمان انتشار 4.16.0 وجود داشته است. برخلاف سرور SMB فضای کاربر، ksmbd از نظر عملکرد، مصرف حافظه و ادغام با ویژگی های هسته پیشرفته کارآمدتر است. Ksmbd به عنوان یک افزونه Samba با کارایی بالا و آماده تعبیه شده که در صورت نیاز با ابزارها و کتابخانه های Samba ادغام می شود. کد ksmbd توسط Namjae Jeon از سامسونگ و Hyunchul Lee از LG نوشته شده است، و هسته توسط Steve French از مایکروسافت، نگهدارنده زیرسیستم های CIFS/SMB2/SMB3 در هسته لینوکس و عضو قدیمی تیم توسعه Samba نگهداری می شود. ، که سهم قابل توجهی در اجرای پشتیبانی از پروتکل های SMB/CIFS در سامبا و لینوکس داشت.

منبع: opennet.ru

اضافه کردن نظر