آسیب پذیری در هسته لینوکس که می تواند با ارسال یک بسته 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، مشکل رخ نمیدهد، زیرا این پروتکل از تجمیع بستهها بدون بارگذاری پشتیبانی نمیکند.
در نتیجه مشکل پیدا شد استفاده سیستم تست فازی خودکار ایجاد شده توسط گوگل syzbot و آنالیزور کسان (KernelAddressSanitizer)، با هدف شناسایی خطاها هنگام کار با حافظه و حقایق دسترسی نادرست به حافظه، مانند دسترسی به مناطق آزاد شده حافظه و قرار دادن کد در مناطق حافظه که برای چنین دستکاریهایی در نظر گرفته نشدهاند.