آسیب پذیری در اجرای سوکت AF_PACKET هسته لینوکس

سه سال پس از موج آسیب پذیری ها (1, 2, 3, 4, 5) در زیر سیستم AF_PACKET هسته لینوکس شناخته شده است یک مشکل دیگر (CVE-2020-14386)، به یک کاربر غیرمجاز محلی اجازه می دهد تا کد را به عنوان ریشه اجرا کند یا در صورت دسترسی ریشه از کانتینرهای ایزوله خارج شود.

ایجاد یک سوکت AF_PACKET و بهره برداری از آسیب پذیری به امتیازات CAP_NET_RAW نیاز دارد. با این حال، مجوز مشخص شده را می توان توسط یک کاربر غیرمجاز در کانتینرهای ایجاد شده در سیستم هایی با پشتیبانی از فضای نام کاربری فعال دریافت کرد. به عنوان مثال، فضای نام کاربری به طور پیش فرض در اوبونتو و فدورا فعال است، اما در دبیان و RHEL فعال نیست. در اندروید، فرآیند مدیاسرور حق ایجاد سوکت های AF_PACKET را دارد که از طریق آن می توان از آسیب پذیری مورد سوء استفاده قرار داد.

این آسیب پذیری در تابع tpacket_rcv وجود دارد و به دلیل خطا در محاسبه متغیر netoff ایجاد می شود. یک مهاجم می تواند شرایطی ایجاد کند که در آن متغیر netoff به مقداری کمتر از متغیر maclen نوشته شود، که باعث سرریز در هنگام محاسبه "macoff = netoff - maclen" و متعاقباً تنظیم نادرست اشاره گر روی بافر برای داده های ورودی می شود. در نتیجه، یک مهاجم می تواند نوشتن از 1 تا 10 بایت را در ناحیه ای فراتر از مرز بافر اختصاص داده شده آغاز کند. خاطرنشان می شود که یک اکسپلویت در حال توسعه است که به شما امکان می دهد حقوق ریشه را در سیستم به دست آورید.

این مشکل از جولای 2008 در هسته وجود داشته است، یعنی. خود را در تمام هسته های واقعی نشان می دهد. تعمیر در حال حاضر به عنوان موجود است پچ. در صفحات زیر می‌توانید دسترسی به‌روزرسانی‌های بسته را در توزیع‌ها پیگیری کنید: اوبونتو, کلاه نمدی مردانه, سوس, دبیان, ریل, قوس.

منبع: opennet.ru

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