آسیب پذیری در هسته لینوکس که می تواند با ارسال یک بسته UDP باعث خرابی شود

در هسته لینوکس شناخته شده است آسیب پذیری (CVE-2019-11683) که به شما امکان می دهد از راه دور با ارسال بسته های UDP طراحی شده خاص (بسته مرگ) باعث انکار سرویس شوید. این مشکل به دلیل خطا در کنترل کننده udp_gro_receive_segment (net/ipv4/udp_offload.c) با اجرای فناوری GRO (Generic Receive Offload) ایجاد می شود و می تواند منجر به آسیب به محتویات مناطق حافظه هسته در هنگام پردازش بسته های UDP با لایه صفر شود. (مبارزه خالی).

مشکل فقط هسته را تحت تاثیر قرار می دهد 5.0از آنجایی که پشتیبانی GRO برای سوکت های UDP بود اجرا شد در نوامبر سال گذشته و تنها موفق به ورود به آخرین نسخه هسته پایدار شد. فناوری GRO به شما این امکان را می‌دهد تا با تجمیع بسته‌های متعدد در بلوک‌های بزرگ‌تر که نیازی به پردازش جداگانه هر بسته ندارند، سرعت پردازش تعداد زیادی بسته ورودی را افزایش دهید.
برای TCP، مشکل رخ نمی‌دهد، زیرا این پروتکل از تجمیع بسته‌ها بدون بارگذاری پشتیبانی نمی‌کند.

این آسیب پذیری تاکنون فقط در فرم رفع شده است پچ، به روز رسانی اصلاحی هنوز منتشر نشده است (اصلاح به روز رسانی دیروز 5.0.11 شامل نمی شود). از کیت های توزیع، هسته 5.0 توانست در آن گنجانده شود فدورا 30, اوبونتو 19.04, قوس لینوکس, جنتو و سایر توزیع‌های به‌روز شده به طور مداوم. دبیان, اوبونتو 18.10 و قبل از آن, RHEL/CentOS и SUSE/openSUSE مشکل تاثیر نمی گذارد

در نتیجه مشکل پیدا شد استفاده سیستم تست فازی خودکار ایجاد شده توسط گوگل syzbot و آنالیزور کسان (KernelAddressSanitizer)، با هدف شناسایی خطاها هنگام کار با حافظه و حقایق دسترسی نادرست به حافظه، مانند دسترسی به مناطق آزاد شده حافظه و قرار دادن کد در مناطق حافظه که برای چنین دستکاری‌هایی در نظر گرفته نشده‌اند.

منبع: opennet.ru

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