USB Gadget'ın Linux çekirdek alt sistemindeki güvenlik açığı, potansiyel olarak kod yürütülmesine izin veriyor

USB istemci cihazları ve USB cihazlarını simüle eden yazılımlar oluşturmak için bir programlama arayüzü sağlayan Linux çekirdeğinin bir alt sistemi olan USB Gadget'ta, çekirdekten bilgi sızıntısına, çökmeye veya çalıştırılmasına yol açabilecek bir güvenlik açığı (CVE-2021-39685) bulunmaktadır. çekirdek düzeyinde rastgele kod. Saldırı, ayrıcalığı olmayan bir yerel kullanıcı tarafından, rndis, hid, uac1, uac1_legacy ve uac2 gibi USB Gadget API'sine dayalı olarak uygulanan çeşitli cihaz sınıflarının manipülasyonu yoluyla gerçekleştirilir.

Sorun yakın zamanda yayınlanan 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 ve 4.4.295 Linux çekirdeği güncellemelerinde düzeltildi. Dağıtımlarda (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch) sorun çözülmedi. Zafiyeti ortaya koymak için bir istismar prototipi hazırlandı.

Sorun, rndis, hid, uac1, uac1_legacy ve uac2 gadget sürücülerindeki veri aktarım isteği işleyicilerindeki arabellek taşmasından kaynaklanıyor. Bu güvenlik açığından yararlanılmasının bir sonucu olarak, ayrıcalığı olmayan bir saldırgan, her zaman 4096 bayt tahsis edilen (USB_COMP_EP0_BUFSIZ) statik arabellek boyutunu aşan wLength alan değerine sahip özel bir kontrol isteği göndererek çekirdek belleğine erişim sağlayabilir. Saldırı sırasında, kullanıcı alanındaki ayrıcalıksız bir işlem, 65 KB'a kadar veriyi çekirdek belleğine okuyabilir veya yazabilir.

Kaynak: opennet.ru

Yorum ekle