Glibc 2.40 sistem kitabxanasının buraxılışı

Altı aylıq inkişafdan sonra GNU C Library (glibc) 2.40 sistem kitabxanasının buraxılışı dərc olunub. Bu versiya ISO C11 və POSIX.1-2017 standartlarının tələblərinə tam uyğundur. Yeni buraxılışa 68 proqramçının düzəlişləri daxil edilib.

Glibc 2.40-da həyata keçirilən yeniliklərdən bəziləri:

  • math.h başlıq faylına C23 standartında təyin edilmiş yeni eksponensial və logarithmik funksiyalar əlavə edilib: exp2m1, exp10m1, log2p1, log10p1 və logp1. Funksiyalar float, double, long double, _FloatN və _FloatNx tipləri üçün variantlarda mövcuddur.
  • _ISOC23_SOURCE makrosu C23 standartında təklif olunan imkanların istifadəsini müəyyən edir (hazırda Glibc yalnız C23 imkanlarının bir qismini həyata keçirir). C23-ü də GCC-də -std=c23, -std=gnu23, -std=c2x və ya -std=gnu2x seçimlərini göstərməklə tərtibat zamanı da aktivləşdirmək olar.
  • Testlər aparılarkən proqramı istifadəçi identifikatorunu dəyişdirmə (setuid) flaqını göstərdikləri kimi işə salmağa imkan verən "glibc.rtld.enable_secure" ayarı əlavə edilib.
  • Linux platformasında epoll.h başlıq faylı Linux 6.9 nüvəsindəki yeni ioctl və epoll strukturlarını dəstəkləmək üçün yenilənib.
  • Sətirlərlə iş və yaddaşın idarəsi funksiyalarında mümkün olan buffer overflow və təhlükəsizlik səhvlərini aşkar etmək funksionallığı ("_FORTIFY_SOURCE") Clang tərtibatçısı ilə Glibc tərtibi üçün uyğunlaşdırılıb.
  • Vektor matəmatiği funksiyaları (libmvec) kitabxanasında Aarch64 arxitekturası üçün acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh və tanh funksiyalarının icra variantları təqdim olunub.
  • x86 sistemlərində böyük məlumat paketlərinin yazılmasını sürətləndirmək üçün memset funksiyasında müvəqqəti buferlərin istifadəsini dayandırmaq imkanı təqdim olunur. Optimizasiya "x86_memset_non_temporal_threshold" ayarı ilə aktivləşdirilir.
  • GCC 14-də, müxtəlif tiplərlə işləyən stdbit.h başlıq faylında type-generic makrolar __builtin_stdc_bit_ceil daxil edilmiş funksiyalardan istifadə etməyə dəyişdirilib ki, bu da __int128 və _BitInt(N) tipləri üçün operandları dəstəkləyir.
  • lastlog, utmp və utmpx strukturlarında epoxal zaman sayğacı ilə əlaqəli sahələr 32-bit imzalı tipdən qeyri-imzalı tipə dəyişdirilmişdir ki, bu da sayğac vasitəsilə maksimum ünvanlanan vaxtı 2038-ci ildən 2106-cı ilə qədər uzadır.
  • Təhlükəsizlik zəiflikləri aradan qaldırılıb:
    • CVE-2024-2961 — iconv() funksiyası tərəfindən ISO-2022-CN-EXT kodlaşdırmasında xüsusi hazırlanmış sətirləri çevirdikdə baş verən buffer overflow. Praktikada, bu zəiflik PHP tətbiqlərində uzaqdan hücum üçün istifadə oluna bilər və kod icrasına səbəb ola bilər.
    • CVE-2024-33599 — nscd (Name Service Cache Daemon) prosesində netgroup cache ilə işləyən kodda buffer overflow. Zəiflik, müştəri tərəfindən xüsusi hazırlanmış sorğunun göndərilməsi vasitəsilə exploit edilə bilər.
    • CVE-2024-33600 — nscd prosesində boş göstəricinin de-referensiyası, müəyyən sorğuların işlənməsi zamanı qəza ilə nəticələnə bilər.
    • CVE-2024-33601 — netgroup keşfi ilə işləyərkən baş verən bir xətanın nscd prosesinin qəza ilə bitməsinə və yaddaş bölgüsündə uğursuzluğa səbəb ola bilər.
    • CVE-2024-33602 — nscd prosesində netgroup keşini idarə edərkən yaddaşın pozulması.

    Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster