Glibc 2.35 iyileştirmeler, hata düzeltmeleri ve daha fazlasıyla geldi

Altı aylık geliştirmeden sonra Glibc 2.35'in yeni sürümünün yayınlandığı duyuruldu hangi içinde 66 geliştiricinin düzeltmelerini içerir ve uygulanan iyileştirmelerden, tüm Unicode kodları için harmanlamalar içeren, ancak kaydetmek için fnmatch, regexec ve regcomp işlevlerinde ASCII aralıklarının kullanımıyla sınırlı olan "C.UTF-8" yerel ayarı için desteğin eklendiğini görebiliriz. uzay.

Yerel ayar yaklaşık 400 KB'dir ve bunun 346 KB'si Unicode için LC_CTYPE verisidir ve ayrıca yüklenmesi gerekir (Glibc'de yerleşik değildir). Kodlama verileri, karakter türü bilgileri ve harf çevirisi tabloları, Unicode 14.0.0 belirtimini destekleyecek şekilde güncellendi.

Öne çıkan bir diğer değişiklik ise Y sonucu daha dar bir türe yuvarlayan işlevler ve makrolar uygular, IEEE 754-2019 belirtiminde açıklanan float, long double, _FloatN ve _FloatNx türlerinin minimum ve maksimum kayan nokta sayılarını bulmak için işlevler ve makrolar uygulamaya ek olarak.

fonksiyonlar için exp10, ilgili makrolar başlık dosyasına eklenirbelirli türlere bağlı olmayan , artı _PRINTF_NAN_LEN_MAX makrosu eklendi , taslak ISO C2X standardında önerilmiştir.

Dinamik bağlantı sistemi, yeni bir sınıflandırma algoritması uygular Derinlik arama (DFS) kullanan DSO döngü bağımlılıklarını işlerken performans sorunlarını çözmek için. DSO sıralama algoritmasını seçmek için, önceki algoritmaya geri dönmek için "1" olarak ayarlanabilen glibc.rtld.dynamic_sort parametresi önerilir.

onun yanında yeni bir işlev '__memcmpeq' için destek eklendi Bu işlevin dönüş değeri yalnızca bir işlemin tamamlanma durumunu kontrol etmek için kullanıldığında, derleyiciler tarafından 'memcmp' kullanımını optimize etmek için kullanılan ABI'ye.

The otomatik iş parçacığı kaydı desteği Linux çekirdeği 4.18'den beri sağlanan rseq (yeniden başlatılabilir diziler) sistem çağrısını kullanarak. rseq sistem çağrısı bir grup talimatın sürekli yürütülmesini organize etmeye izin verir kesintiye uğramaz ve gruptaki son ifade ile sonucu taahhüt eder. Esasen, başka bir iş parçacığı tarafından kesilirse temizlenen ve yeniden denenen işlemlerin çok hızlı atomik yürütülmesi için bir olanak sağlar.

Öte yandan, sağlar tüm yürütülebilir dosyaların varsayılan derlemesi yerleşik programlar ve PIE (konumdan bağımsız yürütülebilir) modunda bir test paketi.

Bu davranışı devre dışı bırakmak için, “–disable-default-pie” seçeneği sunulur, artı Linux için, mmap ve sbrk için MADV_HUGEPAGE bayrağıyla madvise sistem çağrısını kullanmak veya mmap çağrılarında MAP_HUGETLB bayrağını belirterek doğrudan büyük bellek sayfalarını kullanmak üzere malloc uygulamasını değiştirmek için bir glibc.malloc.hugetlb ayarı eklendi.

İlk durumda, madvise modunda şeffaf Büyük Sayfalar kullanılarak bir performans artışı sağlanabilir ve ikinci durumda, sistem tarafından ayrılmış devasa sayfaları (Büyük Sayfalar) kullanabilirsiniz.

Bu yeni sürümde bazı güvenlik açıklarının giderildiğini de belirtmek gerekir:

  • CVE-2022-23218, CVE-2022-23219: svcunix_create ve clnt_create işlevlerinde, dosya adı parametresinin içeriğinin kopyalanan verilerin boyutunu kontrol etmeden yığına kopyalanmasından kaynaklanan bir arabellek taşması. Yığın koruması olmadan oluşturulan ve "unix" protokolünü kullanan uygulamalar için, güvenlik açığı çok uzun dosya adlarını işlerken kötü amaçlı kod yürütülmesine neden olabilir.
  • CVE-2021-3998: yığından temizlenmemiş kalıntı verileri içeren belirli koşullar altında yanlış bir değer döndürülmesinin neden olduğu realpath() işlevindeki bir güvenlik açığı. SUID kök kaynaştırıcı programı için, güvenlik açığı, örneğin işaretçi bilgilerini elde etmek için işlem belleğinden hassas bilgiler elde etmek için kullanılabilir.
  • CVE-2021-3999: getcwd() işlevinde tek baytlık arabellek taşması. Sorun, 1995'ten beri var olan bir hatadan kaynaklanıyor. Ayrı bir bağlama noktası ad alanında bir taşma çağırmak için "/" dizininde chdir() öğesini çağırmanız yeterlidir.

Nihayet Bununla ilgili daha fazla bilgi edinmek istiyorsanız, ayrıntıları kontrol edebilirsiniz aşağıdaki bağlantı.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.