Linux çekirdeğindeki güvenlik açıklarından Bluetooth aracılığıyla uzaktan yararlanılıyor

Linux çekirdeğinde, Bluetooth aracılığıyla özel olarak tasarlanmış bir L2022CAP paketi göndererek çekirdek düzeyinde uzaktan kod yürütmeyi organize etmek için potansiyel olarak kullanılabilecek bir güvenlik açığı (CVE-42896-2) belirlendi. Ayrıca, L2022CAP işleyicisinde, yapılandırma bilgileri içeren paketlerdeki çekirdek belleği içeriğinin sızmasına yol açabilen benzer bir sorun daha (CVE-42895-2) tespit edilmiştir. İlk güvenlik açığı Ağustos 2014'ten bu yana (çekirdek 3.16), ikincisi ise Ekim 2011'den bu yana (çekirdek 3.0) ortaya çıkıyor. Güvenlik açıkları, Linux çekirdeğinin 6.1.0, 6.0.8, 4.9.333, 4.14.299, 4.19.265, 5.4.224, 5.10.154 ve 5.15.78 sürümlerinde giderilmiştir. Dağıtımlardaki düzeltmeleri şu sayfalardan takip edebilirsiniz: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Uzaktan saldırı gerçekleştirme olasılığını göstermek için Ubuntu 22.04'te çalışan prototip istismarlar yayınlandı. Bir saldırı gerçekleştirmek için saldırganın Bluetooth menzilinde olması gerekir; ön eşleştirme gerekli değildir ancak Bluetooth'un bilgisayarda etkin olması gerekir. Saldırı için, kurbanın cihazının koklama yoluyla belirlenebilen veya bazı cihazlarda Wi-Fi MAC adresine göre hesaplanabilen MAC adresini bilmek yeterlidir.

İlk güvenlik açığı (CVE-2022-42896), l2cap_connect ve l2cap_le_connect_req işlevlerinin uygulanmasında zaten boş olan bir bellek alanına (serbest kullanımdan sonra) erişimden kaynaklanmaktadır - new_connection geri çağrısı aracılığıyla bir kanal oluşturulduktan sonra kilit ayarlanmadı bunun için, ancak zaman aşımı sona erdiğinde, l2cap_chan_timeout işlevini çağırarak ve l2cap_le_connect* işlevlerindeki kanalla çalışmanın tamamlandığını kontrol etmeden kanalı temizleyerek bir zamanlayıcı ayarlandı (__set_chan_timer ).

Varsayılan zaman aşımı 40 saniyedir ve böyle bir gecikmeyle yarış durumunun oluşamayacağı varsayılmıştır ancak SMP işleyicisindeki başka bir hata nedeniyle zamanlayıcıya anında çağrı yapılması ve bir sonuç elde edilmesinin mümkün olduğu ortaya çıkmıştır. yarış kondisyonu. l2cap_le_connect_req'teki bir sorun, çekirdek belleği sızıntısına yol açabilir ve l2cap_connect'te, bellek içeriğinin üzerine yazılmasına ve kodunun çalıştırılmasına yol açabilir. İlk saldırı türü Bluetooth LE 4.0 (2009'dan beri) kullanılarak gerçekleştirilebilir, ikincisi ise Bluetooth BR/EDR 5.2 (2020'den beri) kullanılarak gerçekleştirilebilir.

İkinci güvenlik açığı (CVE-2022-42895), özel hazırlanmış yapılandırma istekleri göndererek çekirdek yapılarına yönelik işaretçiler hakkında uzaktan bilgi edinmek için kullanılabilen l2cap_parse_conf_req işlevindeki artık bellek sızıntısından kaynaklanmaktadır. l2cap_parse_conf_req işlevi, tahsis edilen belleğin önceden başlatılmadığı l2cap_conf_efs yapısını kullandı ve FLAG_EFS_ENABLE bayrağını değiştirerek yığındaki eski verileri pakete dahil etmek mümkün oldu. Sorun yalnızca çekirdeğin CONFIG_BT_HS seçeneğiyle oluşturulduğu sistemlerde ortaya çıkıyor (varsayılan olarak devre dışıdır ancak Ubuntu gibi bazı dağıtımlarda etkindir). Başarılı bir saldırı ayrıca HCI_HS_ENABLED parametresinin yönetim arayüzü aracılığıyla true değerine ayarlanmasını gerektirir (varsayılan olarak kullanılmaz).

Kaynak: opennet.ru

Yorum ekle