Linux nüvəsində UDP paketi göndərməklə qəzaya səbəb ola biləcək zəiflik
Linux nüvəsində müəyyən edilmişdir zəiflik (CVE-2019-11683), xüsusi hazırlanmış UDP paketlərini (ölüm paketi) göndərməklə uzaqdan xidmətdən imtina etməyə imkan verir. Problem GRO (Generic Receive Boşaltma) texnologiyasının tətbiqi ilə udp_gro_receive_segment işləyicisində (net/ipv4/udp_offload.c) xətadan qaynaqlanır və sıfır doldurma ilə UDP paketlərinin işlənməsi zamanı nüvə yaddaş sahələrinin məzmununun zədələnməsinə səbəb ola bilər. (boş yük).
Problem yalnız nüvəyə təsir edir 5.0UDP yuvaları üçün GRO dəstəyi olduğundan həyata keçirilən keçən ilin noyabrında və yalnız ən son stabil kernel buraxılışına daxil ola bildi. GRO texnologiyası çoxlu paketləri hər bir paketin ayrıca işlənməsini tələb etməyən daha böyük bloklara birləşdirərək çoxlu sayda daxil olan paketlərin işlənməsini sürətləndirməyə imkan verir.
TCP üçün problem baş vermir, çünki bu protokol yüklənmədən paket birləşməsini dəstəkləmir.
Nəticədə problem tapıldı istifadə Google tərəfindən yaradılmış avtomatik fuzzing test sistemi syzbot və analizator KASAN (KernelAddressSanitizer), yaddaşla işləyərkən səhvləri və boş yaddaş sahələrinə daxil olmaq və bu cür manipulyasiyalar üçün nəzərdə tutulmayan yaddaş sahələrinə kodu yerləşdirmək kimi yanlış yaddaşa giriş faktlarını aşkar etməyə yönəlib.