Linux çekirdeğinde nf_tables, watch_queue ve IPsec'te istismar edilebilir güvenlik açıkları belirlendi

Linux çekirdeğinde, yerel kullanıcının sistemdeki ayrıcalıklarını artırmasına olanak tanıyan çeşitli tehlikeli güvenlik açıkları tespit edildi. Göz önünde bulundurulan tüm problemler için çalışan istismar prototipleri hazırlandı.

  • watch_queue olay izleme alt sistemindeki bir güvenlik açığı (CVE-2022-0995), verilerin çekirdek belleğindeki sınır dışı arabelleğe yazılmasına olanak tanır. Saldırı, ayrıcalığı olmayan herhangi bir kullanıcı tarafından gerçekleştirilebilir ve kodlarının çekirdek haklarıyla çalışmasına neden olabilir. Güvenlik açığı watch_queue_set_size() işlevinde mevcut ve bir listedeki tüm işaretçileri, onlar için bellek ayrılmamış olsa bile temizleme girişimiyle ilişkilendiriliyor. Sorun, çoğu Linux dağıtımında kullanılan "CONFIG_WATCH_QUEUE=y" seçeneğiyle çekirdek oluşturulurken ortaya çıkıyor.

    Güvenlik açığı, 11 Mart'ta eklenen bir çekirdek değişikliğiyle giderildi. Dağıtımlardaki paket güncellemelerinin yayınlarını şu sayfalardan takip edebilirsiniz: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Yararlanma prototipi zaten herkese açıktır ve Ubuntu 21.10'da 5.13.0-37 çekirdeğiyle çalışırken root erişimi elde etmenize olanak tanır.

    Linux çekirdeğinde nf_tables, watch_queue ve IPsec'te istismar edilebilir güvenlik açıkları belirlendi

  • IPv2022 ve IPv27666 kullanılırken kullanılan IPsec için ESP dönüşümlerinin (Kapsülleme Güvenlik Yükü) uygulanmasıyla esp4 ve esp6 çekirdek modüllerindeki güvenlik açığı (CVE-4-6). Güvenlik açığı, normal ayrıcalıklara sahip yerel bir kullanıcının çekirdek belleğindeki nesnelerin üzerine yazmasına ve sistemdeki ayrıcalıklarını yükseltmesine olanak tanıyor. Sorun, maksimum mesaj boyutunun skb_page_frag_refill yapısı için ayrılan maksimum bellek boyutunu aşabileceği göz önüne alındığında, tahsis edilen hafıza boyutu ile alınan gerçek veriler arasındaki mutabakat eksikliğinden kaynaklanmaktadır.

    Güvenlik açığı çekirdekte 7 Mart'ta düzeltildi (5.17, 5.16.15 vb. sürümlerde düzeltildi). Dağıtımlardaki paket güncellemelerinin yayınlarını şu sayfalardan takip edebilirsiniz: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Sıradan bir kullanıcının varsayılan yapılandırmada Ubuntu Desktop 21.10'a kök erişimi elde etmesine olanak tanıyan bu açıktan yararlanmanın çalışan bir prototipi GitHub'da zaten yayınlandı. Küçük değişikliklerle istismarın Fedora ve Debian üzerinde de çalışacağı iddia ediliyor. İstismarın başlangıçta pwn2own 2022 yarışması için hazırlanmış olması dikkat çekiyor ancak çekirdek geliştiricileri bununla ilişkili bir hatayı tespit edip düzeltti, bu nedenle güvenlik açığının ayrıntılarının açıklanmasına karar verildi.

  • nf_tables modülündeki netfilter alt sisteminde, nftables paket filtresinin çalışmasını sağlayan iki güvenlik açığı (CVE-2022-1015, CVE-2022-1016). İlk sorun, yerel, ayrıcalıksız bir kullanıcının, yığında tahsis edilmiş bir ara belleğe sınır dışı yazma işlemi gerçekleştirmesine olanak tanır. Belirli bir şekilde formatlanmış ve nftables kurallarına erişimi olan bir kullanıcı tarafından belirtilen indekslerin kontrol aşamasında işlenen nftables ifadeleri işlenirken taşma meydana gelir.

    Güvenlik açığı, geliştiricilerin "enum nft_registers reg" değerinin tek bayt olduğunu ima etmesinden kaynaklanıyor; belirli optimizasyonlar etkinleştirildiğinde derleyici, C89 spesifikasyonuna göre bunun için 32 bitlik bir değer kullanabilir. . Bu özellik nedeniyle, bellek kontrol edilirken ve tahsis edilirken kullanılan boyut, yapıdaki verinin gerçek boyutuna karşılık gelmez, bu da yapının kuyruğunun yığındaki işaretçilerle örtüşmesine neden olur.

    Sorun, çekirdek düzeyinde kod yürütmek için kullanılabilir, ancak başarılı bir saldırı, CLONE_NEWUSER veya CLONE_NEWNET haklarına sahip ayrı bir ağ ad alanında elde edilebilen nftables'a erişim gerektirir (örneğin, yalıtılmış bir kapsayıcıyı çalıştırabiliyorsanız). Güvenlik açığı aynı zamanda derleyici tarafından kullanılan ve örneğin "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y" modunda derleme sırasında etkinleştirilen optimizasyonlarla da yakından ilgilidir. Güvenlik açığından yararlanılması Linux çekirdeği 5.12'den itibaren mümkündür.

    Netfilter'daki ikinci güvenlik açığı, nft_do_chain işleyicisinde zaten boş olan bir bellek alanına (serbest kullanımdan sonra) erişimden kaynaklanır ve nftables ifadeleriyle manipülasyonlar yoluyla okunabilen ve kullanılabilen, çekirdek belleğinin başlatılmamış alanlarının sızıntısına yol açabilir. örneğin, diğer güvenlik açıklarından yararlanma geliştirme sırasında işaretçi adreslerini belirlemek için. Güvenlik açığından yararlanılması Linux çekirdeği 5.13'ten itibaren mümkündür.

    Güvenlik açıkları, günümüzün 5.17.1, 5.16.18, 5.15.32, 5.10.109, 5.4.188, 4.19.237, 4.14.274 ve 4.9.309 çekirdek yamalarında ele alınmaktadır. Dağıtımlardaki paket güncellemelerinin yayınlarını şu sayfalardan takip edebilirsiniz: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux. Sorunları tespit eden araştırmacı, dağıtımların çekirdek paketlerine güncellemeler yayınlamasının ardından birkaç gün içinde yayınlanması planlanan her iki güvenlik açığına yönelik çalışan istismarların hazırlandığını duyurdu.

Kaynak: opennet.ru

Yorum ekle