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.

Boşluq indiyədək yalnız formada aradan qaldırılıb yamaq, düzəldici yeniləmə hələ dərc olunmayıb (dünənki yeniləmə 5.0.11 fix daxil deyil). Dağıtım dəstlərindən kernel 5.0 daxil olmağı bacardı Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo və digər davamlı olaraq yenilənən paylamalar. Debian, Ubuntu 18.10 və daha əvvəl, RHEL/CentOS и SUSE/openSUSE problem təsir etmir.

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.

Mənbə: opennet.ru

Добавить комментарий