Qualys, Glibc sistem C kütüphanesinin (GNU libc) bir parçası olarak sağlanan ld.so bağlayıcısında tehlikeli bir güvenlik açığı (CVE-2023-4911) tespit etti. Güvenlik açığı, yerel bir kullanıcının, /usr/bin/su gibi suid kök bayrağıyla yürütülebilir bir dosyayı çalıştırmadan önce GLIBC_TUNABLES ortam değişkeninde özel olarak biçimlendirilmiş verileri belirterek sistemdeki ayrıcalıklarını yükseltmesine olanak tanır.
Söz konusu güvenlik açığının başarılı bir şekilde istismar edilebileceği Fedora 37 ve 38 sürümlerinde gösterilmiştir. Ubuntu 22.04 ve 23.04, Debian 12 ve 13. Bu güvenlik açığının Glibc kullanan diğer dağıtımları da etkilemesi bekleniyor. Alpine gibi Musl sistem C kütüphanesine dayalı dağıtımlar da etkilenebilir. LinuxBu sorundan etkilenmezler. Güvenlik açığı 2 Ekim'de eklenen bir yama ile düzeltildi. Dağıtımlar için paket güncellemelerinin yayınlanma durumunu aşağıdaki sayfalardan takip edebilirsiniz: Debian, UbuntuRHEL, SUSE/openSUSE, Fedora, Arch, Gentoo, ALT Linux.
Güvenlik açığı, glibc 2021 sürümünün bir parçası olarak Nisan 2.34'de yapılan bir değişiklikten kaynaklanmaktadır. GLIBC_TUNABLES ortam değişkeninde belirtilen dize ayrıştırma kodundaki bir hata nedeniyle, bu değişkendeki parametrelerin yanlış birleşimi, ayrıştırılan değerin tahsis edilen arabelleğin ötesine yazılmasına yol açar. Sorun, standart "isim=val" dizileri yerine parametrelerin formda "isim=isim=val" çift atamasıyla belirtilmesiyle ortaya çıkıyor. Bu durumda atama, önce "isim=isim=val", sonra "isim=val" olarak iki kez işlenir. Bu ikili işlem tunestr arabellek boyutundan daha büyük olan "name=name=val:name=val" sonucunu üretir.
Araştırmacılar, suid root bayrağına sahip hemen hemen her programla kullanıldığında root erişimine izin veren istikrarlı bir güvenlik açığı geliştirdiler. İstisnalar, ELF RUNPATH değerini değiştiren sudo yardımcı programı ve Fedora'daki (ayrı SE kurallarıyla korunan) change ve passwd yardımcı programlarıdır.Linux) ve snap-confine yardımcı programı Ubuntu (Ayrı AppArmor kurallarıyla korunmaktadır). Önerilen istismar yöntemi, bu dallar savunmasız olmasına rağmen RHEL 8 ve RHEL 9'da da çalışmamaktadır (bir saldırı farklı bir istismar kodu oluşturmayı gerektirir). İstismar kodu, güvenlik açığı yaygın olarak düzeltildikten sonra yayınlanacaktır. Aşağıdaki komutu kullanarak sisteminizin güvenlik açığına maruz kalıp kalmadığını kontrol edebilirsiniz; bir sorun oluşursa komut çökecektir: env -i "GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A" "Z=`printf '%08192x' 1`" /usr/bin/su --help
Ayrı olarak, Glibc'deki iki güvenlik açığının daha ortadan kaldırıldığı belirtiliyor:
- CVE-2023-4806 – getaddrinfo() işlevinde boş hafıza erişiminden sonra kullanım; NSS eklentisi yalnızca “_gethostbyname2_r” ve “_getcanonname_r” geri çağrılarını uyguladığında ancak “ _gethostbyname3_r” öğesini desteklemediğinde ortaya çıkıyor. Güvenlik açığından yararlanmak için, DNS sunucusunun istenen ana bilgisayar için çok sayıda IPv6 ve IPv4 adresi döndürmesi gerekir; bu, AI_CANONNAME, AI_ALL ve AI_V6MAPPED bayrakları etkinleştirildiğinde AF_INET4 ailesi için getaddrinfo işlevini çağıran işlemin çökmesine yol açacaktır. ayarlamak.
- CVE-2023-5156 – AI_CANONNAME, AI_ALL ve AI_V6MAPPED bayrakları ayarlıyken AF_INET4 adres ailesi için getaddrinfo işlevi çağrıldığında bellek sızıntısı oluşuyor.
Kaynak: opennet.ru
