Linux çekirdeğinde UDP paketi göndererek çökmeye neden olabilecek güvenlik açığı

Linux çekirdeğinde tanımlanmış güvenlik açığı (CVE-2019-11683), özel olarak tasarlanmış UDP paketleri (ölüm paketi) göndererek uzaktan hizmet reddine neden olmanızı sağlar. Sorun, GRO (Genel Alma Aktarımı) teknolojisinin uygulanmasıyla udp_gro_receive_segment işleyicisindeki (net/ipv4/udp_offload.c) bir hatadan kaynaklanır ve sıfır dolgulu UDP paketleri işlenirken çekirdek bellek alanlarının içeriğine zarar verebilir. (boş yük).

Sorun yalnızca çekirdeği etkiliyor 5.0UDP soketleri için GRO desteği mevcut olduğundan uygulandı geçen yılın kasım ayında ve yalnızca en son kararlı çekirdek sürümüne girmeyi başardı. GRO teknolojisi, birden fazla paketi, her bir paketin ayrı olarak işlenmesini gerektirmeyen daha büyük bloklar halinde toplayarak çok sayıda gelen paketin işlenmesini hızlandırmanıza olanak tanır.
TCP için bu protokol yük olmadan paket toplamayı desteklemediğinden sorun oluşmaz.

Güvenlik açığı şu ana kadar yalnızca formda düzeltildi yama, düzeltici güncelleme henüz yayınlanmadı (dünün 5.0.11 güncellemesi düzeltmesi) dahil değil). Dağıtım kitlerinden kernel 5.0 dahil edilmeyi başardı Fedora 30, Ubuntu 19.04, Arch Linux, Gentoo ve sürekli güncellenen diğer dağıtımlar. Debian, Ubuntu 18.10 ve öncesi, RHEL/CentOS и SUSE/openSUSE sorun etkilemez.

Sonuç olarak sorun bulundu kullanmak Google tarafından oluşturulan otomatik bulanıklaştırma test sistemi syzbot ve analizör KASAN (KernelAddressSanitizer), bellekle çalışırken hataları ve boş bellek alanlarına erişim ve bu tür manipülasyonlar için tasarlanmamış bellek alanlarına kod yerleştirme gibi yanlış bellek erişimi gerçeklerini tanımlamayı amaçlamaktadır.

Kaynak: opennet.ru

Yorum ekle